Výběr správných prvků – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výběr správných prvků – .NET – Fórum – Programujte.comVýběr správných prvků – .NET – Fórum – Programujte.com

 

Minatory0
Newbie
7. 3. 2011   #1
-
0
-

Ahoj, potřebuju změnit property Text u mnoha labelů. Napadlo mě vybrat si všechny prvky pomocí this.Controls jako kolekci a pak správným LINQ dotazem vybrat jen labely, které obsahují v názvu L (což jsou ty co potřebuji).

Ale jak tedy na to? Zkusil jsem tento kód jen jako výběr pomocí LINQu:



List<Control> Kolekce = from vybranyPrvek in this.Controls select vybranyPrvek.Text;


Ale vypadá to, že kolekce Controls neimplementuje select tak jak na to?

Nahlásit jako SPAM
IP: 85.13.72.–
nervak0
Věrný člen
7. 3. 2011   #2
-
0
-

U toho dotazu stačí určit typ proměnné, ale výsledek rozhodně nebude List<Control> ;)

from Control control in this.Controls select control.Text
A dotaz pro ty labely bude třeba takhle
from label in this.Controls.OfType<Label>()

where label.Name.Contains('L')
select label

Nahlásit jako SPAM
IP: 213.211.51.–
Minatory0
Newbie
7. 3. 2011   #3
-
0
-

Jo díky. Samozřejmě jsem to přepsal na IEnumerable<Label> a dodal typ proměnné jak si podotkl a to už funguje :)

Nakonec jsem našel někde na netu poměrně dobrý článek, kde už to někdo řešil a výsledná LINQ Query vypadá takto:

IEnumerable<Label> Kolekce = from Control vybranyPrvek in Controls where vybranyPrvek is Label select (Label)vybranyPrvek;

Nahlásit jako SPAM
IP: 85.13.72.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý