Как показать SelectedValue ComboBox, если ComboBox связан с DataSet - PullRequest
0 голосов
/ 12 июня 2011

У меня есть ComboBox, который связан с DataSet.Я хотел показать выбранное значение всякий раз, когда ComboBox имеет изменение в выборе.У меня есть следующий код:

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());
}

Но это только дает мне

System.Data.DataRowView

Я уже установил DisplayMemberPath, но он все еще не показывает мне содержимое выбранного элемента.Что не так?

[ИЗМЕНЕНО] Я также пытаюсь сделать следующее

devCb1.SelectedValuePath = "Content";
MessageBox.Show(devCb1.SelectedValue.ToString());

Но это также все равно дает мне

System.Data.DataRowView

тоже не работает ..

Ответы [ 3 ]

2 голосов
/ 12 июня 2011

DataRowView не имеет содержимого из того, что я вижу .Ваш SelectedValuePath должен указывать на Row, я думаю (или если текущий путь правильно указывает на Content из ComboBoxItem, который вам просто нужно разыграть в этой точке), и вам все равно нужно будет разыграть SelectedValue являясь строкой, для этого класса и оттуда вы можете получить часть его содержимого.

Установите точки останова, используйте отладчик, посмотрите на данные в ваших объектах.

2 голосов
/ 12 июня 2011

Попробуйте SelectedValuePath для доступа к данным, которые вы хотите просмотреть

0 голосов
/ 15 ноября 2013

Можно получить доступ к данным в DataRowView по крайней мере сейчас (через 2 года после того, как вопрос задан), просто приведя SelectedValue к System.Data.DataRowView доступ к свойству Row ["colName"] как это:

((System.Data.DataRowView)ComboBoxName.SelectedValue).Row["colName"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...