Populating ComboBox inside ListView in WPF -
i have populated combobox
inside listview
. screen shot given below
as shown above it's displaying "m", "a", "c" instead of "mac". why separating word characters?
in code behind file i've written
itemcategorydal itemcategorydalobj = new itemcategorydal(); datatable datatable = itemcategorydalobj.getallitemcategory(); listview1.itemssource = datatable.defaultview;
and in .xaml file i've written:
<listview height="148" horizontalalignment="left" margin="23,12,0,0" name="listview1" verticalalignment="top" width="447" > <listview.view> <gridview> - - - - - - - - - - - - - - - - <gridviewcolumn header="category name" width="150"> <gridviewcolumn.celltemplate> <datatemplate> <combobox itemssource="{binding path=ic_name }" width="120" /> </datatemplate> </gridviewcolumn.celltemplate> </gridviewcolumn> - - - - - - - - - - - - - - - - - - </gridview> </listview.view> </listview>
i'm using visual studio 2010
screen shot of datatable
used itemsource
listview.(taken during debuging)
a combobox
allows user select multiple items. populates iterating through of items in itemssource
, adding each item items
.
you're setting itemssource
property returns string. since string can iterated over, combobox
populating items gets when iterating on it, string "mac" turns items "m", "a", , "c".
that's why you're seeing you're seeing. question is: did expect see (or want see) , why? items should combobox
displaying? if want display of category names appear in datatable
, like:
itemssource="{binding relativesource={relativesource ancestortype=listview}, path=itemssource}"
and pull out ic_name
column each item using datatemplate
:
<combobox.itemtemplate> <datatemplate> <textblock text="{binding ic_name}"/> </datatemplate> </combobox.itemtemplate>
note there going kinds of unexpected phenomena encounter doing this. instance, if 1 row in table has "foo" value of ic_name
, moment user selects other value row , table gets updated, value "foo" disappear of combobox
es, making impossible user undo change. also, if 5 rows contain "foo", each combobox
display 5 instances of "foo" in dropdown.
Comments
Post a Comment