проблема comboBox.SelectedItem - PullRequest
2 голосов
/ 02 июня 2011

ComboBox является базой данных связывания

string str= comboBox1.SelectedItem.ToString();

строка дает System.Data.DataRowView значение для str, но не дает имя выбранного элемента.

Ответы [ 4 ]

4 голосов
/ 13 июня 2011

попробуйте

if (comboBox1.SelectedItem is DataRowView) {
  string sval = ((DataRowView)comboBox1.SelectedItem).Row["ColumnName"].ToString();
}
2 голосов
/ 02 июня 2011

Если вы хотите текст выбранного элемента, просто используйте comboBox1.Text.

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

Используйте свойства DisplayMember и ValueMember для комбинированного списка, прежде чем назначить DataSource, и используйте SelectedValue вместо SelectedItem.

Например, если у вас есть List<MyClass> - где MyClass имеет свойство int ID, а другое string Title - и вы хотите назначить его как DataSource из comboBox1, вы должны написать:

List<MyClass> myList; 
...

comboBox1.DisplayMember = "Title";
comboBox1.ValueMember = "ID";
comboBox1.DataSource = myList;

ТеперьcomboBox1.SelectedValue - это object{int}, который может быть приведен к int и использован.

1 голос
/ 02 июня 2011

ToString () наследуется от Object-Class.Реализация по умолчанию указывает имя класса соответствующего объекта.

. Возможно, вы захотите привести SelectedItem к DataRowView для доступа к значениям столбца для этой строки

Пример:

* 1006.*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...