Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Wayne
Člen
Avatar
Wayne:24.11.2016 18:06

Ahoj, mohl by mi někdo poradit jak vyřešit problém, když mám Grid komponentu, kterou dynamicky plním, problém nastane když vytvořím událost na button, kde se prochází tato komponenta a tahám z ní data, a na základě výsledků dat chci dynamicky vytvořit další sloupec, který dynamicky přidám do gridu, skončí to ale chybou výše

 
Odpovědět
24.11.2016 18:06
Avatar
Odpovídá na Wayne
Neaktivní uživatel:24.11.2016 19:17

Postni sem kód. V něm se líp hledá chyba než ve slovním popisu programu.

Nahoru Odpovědět
24.11.2016 19:17
Neaktivní uživatelský účet
Avatar
Marian Benčat:24.11.2016 23:48

Kód není potřeba. Todle je přeci jasné.

Používáš foreach. Foreach funguje díky tomu, že ta kolekce implementuje IEnumerable.. IEnumerable neříká naprosto nic o tom, jak jsou data uskladněna. může to být klidně stromová struktura,.. IEnumerable říká pouze to, že LZE projít všechna data.

Foreach si zezačátku poví o Enumerátor.. představ si to jako PRST který ti ukazuje na 1 prvek... na ten prst si Foreach vola "dej mi dalsi" a ten prst se NEKAM presune,... ale nevime kam. Proste na dalsi.

Vzhledem k tomu, ze NENI specifikováno, jak jsou data uskladněna, tak můžou být třeba uložena ve stromu (datova struktura) a tak by se ti asi nelibiblo, kdyby si byl treba v nejakym "listu" stromu a behm toho prochazeni ti nekdo smazal parenta ze? :-))

Z toho duvodu se u Foreache kontroluje jesti nedoslo ke zmene.. protooze by logicky mohlo dojit k naruseni prochazeni.

Proto nemuzes nijak menit kolekci, kterou prochazis foreachem. Proto je foreach pomalejsi nez prosty FOR - protoze v kazde iteraci kontroluje, jestli nedoslo ke zmene a pokud dosĺo, vyhoédi presne takovouto exception.

proto pouzij FOR a nebo nemen data.

Editováno 24.11.2016 23:49
Nahoru Odpovědět
24.11.2016 23:48
Totalitní admini..
Avatar
Odpovídá na Neaktivní uživatel
Marian Benčat:25.11.2016 9:16

zapomnel jsem hajlajt. Tendle system je tak debilni boze.

Nahoru Odpovědět
25.11.2016 9:16
Totalitní admini..
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.