webForumDet fria alternativet

Problem med att använda bool(true/false) ifrån databas

.NET

7 svar · 220 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

I SQLservern2000 finns ett fält "SkickCD" datatyp bit.
Jag laddar en TreeView och beroende om "SkickCD" är true/false så ville jag ha olika iconer i TreeView.
Så här försöker jag:

if(Convert.ToBoolean(ds1.Tables["listaKunder"].Rows[a]["SkickCD"]))
						
{							
treeView1.ImageIndex = 0;				
treeView1.SelectedImageIndex= 0;			
treeView1.Nodes.Add				
(ds1.Tables["listaKunder"].Rows[b]["Firma"].ToString() + " " + 
ds1.Tables["listaKunder"].Rows[b]["SkickCD"].ToString());	
nr[b] = ds1.Tables["listaKunder"].Rows[b]["Firma"].ToString();
}						
else						
{						
treeView1.ImageIndex = 1;				
treeView1.SelectedImageIndex= 1;			
treeView1.Nodes.Add				
(ds1.Tables["listaKunder"].Rows[b]["Firma"].ToString() + " " + 
ds1.Tables["listaKunder"].Rows[b]["SkickCD"].ToString());	
nr[b] = ds1.Tables["listaKunder"].Rows[b]["Firma"].ToString();
}

Koden är kanske inte den snyggaste eller effektivaste men jag har försökt på så många olika sätt nu, så jag är väldigt tacksam för all hjälp.

Medlem sedan juni 20022 599 inlägg
#2

Såvitt jag kan se så ska det funka alldeles utmärkt att skriva som du gör. Eller:

if((bool)ds1.Tables["listaKunder"].Rows[a]["SkickCD"])

Men varför har du olika index (a och b) i villkoret och i resten av koden?

Medlem sedan mars 20011 880 inlägg
#3

Hej niko!
Det var ett rent slarvfel att inte ha b som index.
Vad som händer är att (som du ser så laddar jag ockås in skickcd i treeview)treeview laddar in firma och skickcd, så jag kan se true resp false, MEN DEN BYTER INTE ICONER!!!

Jag fattar inte vad jag skall göra för att kunna ha olika iconer i treeview:n
(jag får ett error när jag skriver

treeView1.Nodes[0].ImageIndex = 1;			
treeView1.Nodes[0].SelectedImageIndex= 1;

Vad tror du?

Medlem sedan juni 20022 599 inlägg
#4

Har du provat metoden i det här inlägget:

http://www.webforum.nu/showthread.php?s=&postid=626030#post626030?

Dvs att skapa ett nodobjekt och sätta imageindex på det innan du placerar det i trädet?

Medlem sedan mars 20011 880 inlägg
#5

TACK!!!
Nu fungerar det.
:P

Medlem sedan mars 20011 880 inlägg
#6

Måste komma med ytterliggare fråga.
När jag klicka på treeView så kan jag fånga upp det så här:

MessageBox.Show(e.Node.Text);

Men hur gör jag här??

string kolumn = listBoxTotal.SelectedItem.ToString();
Medlem sedan juni 20022 599 inlägg
#7

På motsvarande sätt:

string s=treeView1.SelectedNode.Text;
Medlem sedan mars 20011 880 inlägg
#8

Tack, får se hur länge jag klarar mig nu :-)

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)