Pokud bych mohl poradit, tak já si data z datasetu nahraji do listu a dále pracuji s listem... List<phone> ... s tím že do ListView to vkládám pomocí cyklu foreach po jednotlivých záznamech.
Samozřejmě by šlo projít dataset a přímo vkládat prvky do ListView ... ale s Listem se pak lépe pracuje.
Zde je náhled toho, jak to mám dělané já:
List<Investor> list = new List<Investor>();
string select = "SELECT titul,jmeno,prijmeni,id FROM Investor ORDER BY prijmeni";
DataSet dset = data.GetSelectResult(select, "Investor");
DataTable dtabNode = dset.Tables["Investor"];
if (dtabNode != null)
{
for (int j = 0; j < dtabNode.Rows.Count; j++)
{
DataRow drowNode = dtabNode.Rows[j];
if (drowNode.RowState != DataRowState.Deleted)
{
list.Add(new Bc1.Rozpocty.Classis.Investor(
drowNode["titul"].ToString(),
drowNode["jmeno"].ToString(),
drowNode["prijmeni"].ToString(),
int.Parse(drowNode["id"].ToString()))
);
}
}
}
Následně pak data z List<> přidám do listView ( tady to mám sice pro nějaké produkty ale na tom nazáleží, princip je stejný)
foreach (Produkt item in ps)
{
ListViewItem lvi = new ListViewItem(item.Id.ToString());
lvi.SubItems.Add(item.Nazev);
lvi.SubItems.Add(item.jednotky);
lvi.SubItems.Add(item.Cena.ToString());
lvi.SubItems.Add(item.CenaMontaz.ToString());
lvi.SubItems.Add(item.MezniStav.ToString());
materialListView.Items.Add(lvi);
}