如果ComboBox绑定到DataSet,如何显示ComboBox的SelectedValue

时间:2011-06-12 11:45:08

标签: c# wpf combobox

我有一个绑定到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

也不起作用..

3 个答案:

答案 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"];