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/
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
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
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.
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 🙂