i creating listview , items , subitems being fetched database. however, when i'm running solution listview displays id. want dynamically add columns , rows make datagrid. here's code.
private void frmmain_load(object sender, eventargs e) { datatable table = new datatable(); table = logic.viewinfo(); listview1.view = view.details; listviewitem mylist; foreach (datarow row in table.rows) { mylist = new listviewitem(); (int = 0; < row.itemarray.length; i++) { if (i == 0) mylist.text = row.itemarray[i].tostring(); else mylist.subitems.add(row.itemarray[i].tostring()); } listview1.items.add(mylist); } }
the reason see id don't have proper columns. can add them in designer or in code.
need added "dynamically", need add many columns, values have in itemarray
.
try code. working me.
there no need in using text
property. each subitem
stands cell.
private void frmmain_load(object sender, eventargs e) { datatable table = logic.viewinfo(); // combine declaration , assignment listview1.view = view.details; // better place in designer listview1.columns.clear(); foreach (var column in datatable.columns) { listview1.columns.add(column.columnname); // or caption, or else } foreach (datarow row in table.rows) { listviewitem mylist = new listviewitem(); // move declaration inner scope. reinitializing reference type variable each type. in opinion, not good. (int = 0; < row.itemarray.length; i++) { // don't need text property mylist.subitems.add(row.itemarray[i].tostring()); } listview1.items.add(mylist); } }
Comments
Post a Comment