Laden...

Einfache LINQ Abfrage von TreeView

Erstellt von paddy3k vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.136 Views
P
paddy3k Themenstarter:in
48 Beiträge seit 2008
vor 15 Jahren
Einfache LINQ Abfrage von TreeView

Hiho,

bin noch recht unerfahren, um nicht zu sagen totally dumb 😉, was LINQ Abfragen angeht.
Um da ein wenig reinzukommen, wollte ich folgendes Problem mit einer simplen Abfrage lösen :

Ich habe einen TreeView mit 2 Nodes "Objects" und "Agents". Diese enthalten beliebig viele Subnodes. Im TreeView werden auch CheckBoxen angezeigt. Nun möchte ich mithilfe einer LINQ Abfrage eine Liste von den Knoten bekommen die "checked" sind.

Dazu muss man wohl erst treeview.Nodes["Objects"] und treeview.Nodes["Agent"] joinen (??) um dann mit where die Nodes zu selektieren bei denen das Attribut "checked" == true ist. Ist die Überlegung soweit richtig ? Und wie würde die Abfrage damit aussehen ?!

Ich weiß, einige machen Raytracing mit einer einzigen LINQ Abfrage und dann komm ich mit sowas hier daher 😉 .... bitte trotzdem ned lachen 😉

Viele Grüße
paddy

sex dating in München - Sexkontakte in datewelt.info/sex-kontakte/ auf finden. Entdecke kostenlose, private und regionale Erotik-Anzeigen! Passende Partner aus http://www.datewelt.info/

C
401 Beiträge seit 2007
vor 15 Jahren

Kann man so machen:


foreach(TreeNode node in treeView1.Nodes)
{
  var checkedNodes = from TreeNode subNode in node.Nodes
                                where subNode.Checked == true
                                select subNode;
}

und dann halt durch checkedNodes iterieren.

Gruß

Dario

edit: Hatte ein = bei subNode.Checked == true vergessen

P
paddy3k Themenstarter:in
48 Beiträge seit 2008
vor 15 Jahren

supi, danke für die schnelle Antwort 🙂 Das werde ich erstmal so verwenden !

Gibt es noch irgendeine Möglichkeit die foreach Schleife mit in die Abfrage zu bekommen ?
Also komplett ohne Schleifen auszukommen ?!

Vielen Dank und liebe Grüße 🙂
paddy

C
401 Beiträge seit 2007
vor 15 Jahren

Also komplett ohne Schleifen wirst du wohl nie auskommen, da du ja nach der Abfrage mit einer Schleife durch die Ergebnisse iterieren musst. Ob du nun die erste Schleife integrieren kannst kann ich dir nicht sagen, da ich selber noch nicht so viel mit LINQ gemacht hab.

P
paddy3k Themenstarter:in
48 Beiträge seit 2008
vor 15 Jahren

Das stimmt natürlich, nach der Abfrage brauch ich auf jedenfall ne Schleife. Dachte nur davor kriegt man die foreach noch in die Abfrage mit rein. Aber es genügt auch erstmal so 🙂