c# - Bind DataGrid to List<Dictionary<string,string>> -
i'm loading datagrid columns dynamically number of columns may vary in runtime. list of column names retrieved in prodcatlist
.i want simulate adding single row quotationdg datagrid.
here's how add columns:
foreach (productcategory prodcat in prodcatlist) { datagridcolumn prodcatcolumn = new datagridtextcolumn {binding = new binding(prodcat.name)}; prodcatcolumn.header = prodcat.name; quotationdg.columns.add(prodcatcolumn); }
this how i'm trying add dummy row:
list<dictionary<string, string>> mydictlist = new list<dictionary<string,string>>(); dictionary<string, string> mydict = new dictionary<string, string>(); (int i=0; i<prodcatlist.count; i++) { mydict.add(prodcatlist[i].name, prodcatlist[i].name); } mydictlist.add(mydict); quotationdg.itemssource = mydictlist; }
for first code, columns display correctly, second code row added datagrid names (in dictionary values) not displayed , columns blank. how can fix code show data in added row?
your mydist type use same object if define outside loop
for (int i=0; i<prodcatlist.count; i++) { dictionary<string, string> mydict = new dictionary<string, string>(); mydict.add(prodcatlist[i].name, prodcatlist[i].name); } mydictlist.add(mydict);
Comments
Post a Comment