Diskuze: C# winform - DataGridView a seřazení
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
bohužel ne, budeš si muset vytvořit v paměti obraz toho co je na DataGridVew a pak to zrekontruovat.
zkus se kouknout na https://www.devexpress.com/ tam maj lepší datagridview
Ak som správne pochopil, tak načítaš dáta z databázy do DataGridVew.
Zaškrtneš čo chceš. Potom klikneš na zoradiť a riadky, v ktorých si
checkbox zaškrtol sa zase odškrtnú. Je tak? Môj nápad by bol taký, nie som
odborník, že dáta, ktorá načítaš z DB by som selectom namapoval na nový
model, v ktorom by som mal jeden atribút navyše. Tebou spomínaný checkbox.
Dáta by som nabindoval a triedenie robil už len na listom spomínaných dát.
V tomto liste by sa ti samozrejme ukladal aj stav checkboxu.
Prípadne pridaj do modelu tabuľky atribút checkboxu a nemapuj ho na
databázu. Teda ak používaš entity framework.
Jako nápad je to dobrý, ale on to dělá ve winform, takže modely a binding asi nebudou něco, co by mohl použít...
Stále si však vie vyrobiť triedu, v ktorej bude mať premenné jednotlivých stĺpcov spolu s checkboxom. Stači to len namapovať z databázy. Pomocou lambda vytvorí pre každý objekt/riadok z DB nový objekt triedy a priradí hodnoty aké potrebuje. Či? Vo winforms bez bindov a entityframeworku som to ešte nerobil.
Program by měl fungovat takto: načítám data z sql databáze do
dataGridView. Uživatel si zaškrtne třeba dvacet položek (řádek) a pak by
měl stisknout tlačítko Tisk a vytisknou se zaškrtnuté řádky. Ale pokud
uživatel omylem po zaškrtání položek a před stiskem tlačítka Tisk
seřadí data v dataGridView podle jiného sloupce (prostě klikne do hlavičky
dataGridView) položky již nejsou zaškrtané. Takže musí celý proces
opakovat.
To mě taky napadlo udělat si nějakou třídu jako singleton a tam ukládat
zaškrtané položky z dataGridView. Následně z této třídy brát data pro
tisk.
Chtěl jsem vědět jestli neexistuje jiná cesta než mít uložená ty samá
data na dvou místech. Protože kdybych nepoužíval singleton třídu, tak bych
dataGridView prohledal foreach a hledal zaškrtané položky (řádky) a
následně tisknul. Databáze má 18000 řádku a uživatel klidně může
zaškrtnou všechny a vytisknout....
Snad jsem to trochu líp osvětlil...
Díky za rady.
Zobrazeno 6 zpráv z 6.