Diskuze: uložení a načtení listView
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus serializaci, nedávno jsem na ní vydal článek. Nebo můžeš projít Items toho listViewu a ukládat je řádek po řádku někde do souboru.
Tak jsem se to pokusil udělat podle toho článku, ale nevím jak deserializovat do sloupců v listView. V tom článku to máš jen do listboxu.
Teď koukám co to je za komponentu vůbec. Mohl bys mi říct, co tam máš za data ? Resp. kolik sloupců, jaké datové typy to jsou.
mám 3 sloupce a jeden je dstring a 2 jsou double. Je to taková menší app, abych viděl jestli jsem se se zlepšil v tréninku.
Ahoj, pro načtění z listViewu můžeš např. postupně projet postupně jednodnotlivý jeho řádky, v jedný aplikaci, co sem dělal před časem:
List <string[]> napln = new List<string[]>();
int i = 0;
if (vystupListView.Items.Count == 0)
MessageBox.Show("Chybí vstupní data pro vytvoření souboru.", "Zpráva", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
else
{
foreach (ListViewItem item in vystupListView.Items)
{
string[] zaznam = new string[5];
item.Selected = true;
//nastaveni vystupu
zaznam[4] = MajetekID.ToString();
for (int j = 0; j < zaznam.Length - 1; j++)
{
zaznam[j] = vystupListView.SelectedItems[i].SubItems[j].Text;
}
napln.Add(zaznam);
i++;
}
i když lepší řešení by bylo dát jeden řádek = jeden objekt (místo
tady použitýho pole) - teda pokud ti jeden řádek odpovídá jednomu objektu
Tak jsem to nakonec vyřešil tak, že jsem si data ukládal do listu a po ukončení applikace jsem je uložil do xml. A pro načítání jsem použil
listView1.Columns.Add("Den");
listView1.Columns.Add("vzdalenost");
listView1.Columns.Add("Čas");
XDocument doc = XDocument.Load("Data.xml");
foreach (var dm in doc.Descendants("trenink"))
{
ListViewItem item = new ListViewItem( new string[]
{
dm.Element("den").Value,
dm.Element("vzdalenost").Value,
dm.Element("cas").Value,
});
listView1.Items.Add(item);
}
jinak díky za rady
Zobrazeno 8 zpráv z 8.