C# item to list – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# item to list – .NET – Fórum – Programujte.comC# item to list – .NET – Fórum – Programujte.com

 

Ritchie
~ Anonymní uživatel
6 příspěvků
30. 12. 2015   #1
-
0
-

Zdravím,

vytvářím program, ve kterém potřebuji v jednu chvíli selectnout item v Listu (to zvládnu), ale pak bych ho potřeboval dát do druhého listu a ten druhý list vypsat do gridu.

http://pastebin.com/mxeHdP21
Tady je celý můj kód, problém je v metodě enter_click. Potřeboval bych List<Nakoupeno> změnit z IEnumerable do Listu, abych mohl proměnou "selected" do toho listu hodit. Teď mi to vyhazuje chybu [Cannot convert from 'System.Collections.Generic.List<Kasa.KASA4.Zbozi>' to 'System.Collections.Generic.IEnumerable<Kasa.KASA4.Nakoupeno>'

Jestli někdo víte, děkuji za pomoc.

Nahlásit jako SPAM
IP: 78.45.52.–
Ritchie
~ Anonymní uživatel
6 příspěvků
30. 12. 2015   #2
-
0
-

#1 Ritchie
Upraveno: Stačilo změnit prvky toho pole na ty samé, akorát vytvořit jinak jmenující se pole. Teď bych potřeboval aby to fungovalo, že se mi do toho pole přidávají další a další prvky. Protože momentálně mi to funguje jen u prvního, další už se tam neházejí. Kdyby někdo věděl.
http://pastebin.com/BmKwXeNv

Nahlásit jako SPAM
IP: 78.45.52.–
Matěj Andrle+1
Grafoman
30. 12. 2015   #3
-
0
-

#2 Ritchie
Od toho je funkce Clone - zkopíruje strukturu, nikoli data.

Nahlásit jako SPAM
IP: 31.30.56.–
Ritchie
~ Anonymní uživatel
6 příspěvků
30. 12. 2015   #4
-
0
-

#3 Matěj Andrle
Aha, díky :)

A věděl bys jak po každém stisku enter, přidat do té nové struktury nový vybraný prvek z té staré?

Nahlásit jako SPAM
IP: 78.45.52.–
Matěj Andrle+1
Grafoman
30. 12. 2015   #5
-
0
-

#4 Ritchie
Namísto Listu používej DataTable a do DataGridView jen hodíš binding... No a práce s DataTable je podstatně snazší - stačí definovat strukturu (sloupce, ...) a pak 4 základní akce (insert, select, update, delete) Nebo přímo použij databázi.

Nahlásit jako SPAM
IP: 31.30.56.–
Ritchie
~ Anonymní uživatel
6 příspěvků
30. 12. 2015   #6
-
0
-

#5 Matěj Andrle
To bych moc rád, ale to už vůbec nevím jak dělat. S datatable jsme nepracovali, takže jsem na 0 :/

Nahlásit jako SPAM
IP: 78.45.52.–
Matěj Andrle+1
Grafoman
30. 12. 2015   #7
-
0
-

#6 Ritchie
Jednoduše vytvoříte instanci, tu nacpete do DataSource vlastnosti instance třídy DataGridView a již jen doplníte data. (Prvně musíte vložit sloupce - InsertCell tuším a pak hurá na řádky.)

Nahlásit jako SPAM
IP: 31.30.56.–
Ritchie
~ Anonymní uživatel
6 příspěvků
30. 12. 2015   #8
-
0
-

#7 Matěj Andrle
Děkuji moc za pomoc, ale na to jsem krátký, bohužel. I když je to pro Vás jednoduché a nejspíš by bylo i pro mě. Chtěl bych se zeptat jen na jednu věc, jestli ještě mohu. Když mám nějaký datasource a jednou ho zavolám, vypíše mi obsah toho source. Když ho zavolám ale po druhé, když jsem v source něco změnil, potřeboval bych, aby to přepsalo ten starý výpis, jde to?

Nahlásit jako SPAM
IP: 78.45.52.–
Matěj Andrle+1
Grafoman
30. 12. 2015   #9
-
0
-

#8 Ritchie
Binding takto nefunguje. Binding propojí eventy a handlery - tedy nic jako update nevoláte. DataGridView s nastaveným DataSource updatuje automaticky oběma směry.

Nahlásit jako SPAM
IP: 31.30.56.–
Ritchie
~ Anonymní uživatel
6 příspěvků
30. 12. 2015   #10
-
0
-

#9 Matěj Andrle
Díky za pomoc všechnu.
Na to poslední jsem přišel, stačí abych nejdřív načetl prázdný datagrid a pak ho znovu naplnil, on si ten list vezme znovu.
dataGridName.DataSource = null;

dataGridName.DataSource = source;

Nahlásit jako SPAM
IP: 78.45.52.–
Kit+15
Guru
30. 12. 2015   #11
-
0
-

#3 Matěj Andrle
Na to bych nespoléhal. Clone sice dělá mělkou kopii, ale pokud ji máš nadefinovanou i pro vnitřní objekty, udělá se hluboká kopie.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
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, 3 hosté

Podobná vlákna

Menu Item posunutí — založil LUK4S3K

 

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