我想使用数据集绑定组合框,但是组合框中没有设置值,而是显示system.data.datarowview。我搜索这个并没有一个答案是正确的。我使用以下代码
if (ds.Tables[0].Rows.Count > 0)
{
cmb_usrname.ItemsSource = ds.Tables[0].DefaultView;
cmb_usrname.DisplayMemberPath = ds.Tables[0].Columns["usrName"].ToString();
cmb_usrname.SelectedValuePath = ds.Tables[0].Columns["userId"].ToString();
}
XAML
<ComboBox Height="23" HorizontalAlignment="Left" Margin="129,53,0,0" Name="cmb_usrname" VerticalAlignment="Top" Width="140" ItemsSource="{Binding}"/>
谢谢 ,
sivajith
答案 0 :(得分:0)
您需要将DisplayMemberPath
和SelectedValuePath
设置为列名
cmb_usrname.DisplayMemberPath = "usrName";
cmb_usrname.SelectedValuePath = "userId";
因为这是固定的,你可以在XAML
中这样做<ComboBox ... DisplayMemberPath="usrName" SelectedValuePath="userId"/>
答案 1 :(得分:0)
我相信这已经得到了解答。请查看我对此问题的其他答案之一
Binding Datasource View to Datagrid in WPF
WPF DataTrigger doesn't work.
亮点是:
1)你的支持cs文件需要实现INotifyPropertyChanged
2)在xmal文件中设置DataContext="{Binding RelativeSource={RelativeSource Self}}"
3)在组合框中设置itemsSource="{Bind SomeProperty}"
4)在您的支持cs文件中具有ObservableCollection<SomeType>
的属性
5)当房产更新时,请致电NotifyPropertyChanged