我有一个绑定到ComboBox
的{{1}}。我想在DataSet
选择发生变化时显示所选值。我有以下代码:
ComboBox
但它只给了我
System.Data.DataRowView
我已经设置了private void devCb1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
dv = new DataView(
dt,
"Device_ID = " + devCb1.SelectedIndex,
"Data_ID ASC",
DataViewRowState.CurrentRows);
dataDg1.ItemsSource = dv;
devCb1.DisplayMemberPath = "Content";
MessageBox.Show(devCb1.SelectedValue.ToString());
}
,但它仍未向我显示所选项目的内容。有什么问题?
[EDITED] 我也尝试以下
DisplayMemberPath
但它仍然给了我
System.Data.DataRowView
也不起作用..
答案 0 :(得分:2)
尝试使用SelectedValuePath访问您要查看的数据
答案 1 :(得分:2)
DataRowView
没有内容from what i can see。您的SelectedValuePath
应该指向Row
我认为(或者如果当前路径正确指向您需要在此时投出的Content
的{{1}}),并且您仍然需要将ComboBoxItem
作为一行投射到那个班级,然后从那里你可以得到它的一些内容。
设置断点,使用调试器,查看对象中的数据。
答案 2 :(得分:0)
通过简单地将 SelectedValue 强制转换为 System.Data.DataRowView 并访问属性行[" colName"] ,如下所示:
((System.Data.DataRowView)ComboBoxName.SelectedValue).Row["colName"];