Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > отображение данных из базы в Combobox |
Автор: Abr 24.1.2006, 13:56 | ||
Есть такая проблемка, пишу:
где select - строка в которой запрос, t_name - имя столбца данные которого нужно отобразить в Mycombobox. Но вместо имен выдает: System.Data.DataRowView |
Автор: mr.DUDA 24.1.2006, 21:58 |
DisplayMember определяет имя столбца таблицы, из которого будут заполняться строки combobox; но кроме этого, необходимо задать ещё и Mycombobox.ValueMember - имя столбца таблицы, определяющего числовые значения, соответствующие каждому DisplayMember-у. |
Автор: Abr 25.1.2006, 18:07 |
а можно чуть подробней про ValueMember. я пытался задать Mycombobox.ValueMember="id_t" , но выдает ошибку Cannot bind to the new display member. у меня другой комбобокс настроен на другую выборку, так там все отлично работает без ValueMember, правда там выбирается один столбец, а в моем примере select возвращает несколько столбцов. |
Автор: alexgorbach 8.11.2013, 13:44 | ||
Что ж, подниму древнюю тему, но вроде как раз по моей проблеме. Если кто подскажет - буду очень признателен. Дело происходит на C# + MS SQL Server 2008. Ситуация такая: есть главная форме с DataGridView(DGV) и множеством BindingSource(BS). DataSource у DGV меняется на соответствующий BS в зависимости от выбранной для отображения таблицы. Для удобства мои BS привязаны не к таблицам, а к представлениям, дабы отображались не коды из родительских таблиц, а соответствующие осмысленные поля. Существует также форме детализации, которая должна отображать выбранную запись и давать возможность ее отредактировать. В ее конструктор я передаю DataRow - текущую запись из BS. В этой форме хочу наделать TextBox-ов и ComboBox-ов, прибинденых к моему DataRow. Заполняю ComboBox значениями родительской таблицы, пытаюсь сделать привязку... И тут проблема - DGV после смены значения в ComboBox отображает поле как System.Data.DataRowView. Как привязать Combobox к таблице понятно - выставить ValueMember на соответствующий код, а к представлению как? В нем у меня нет кодов, только поля, соответствующие кодам. Вот код:
|
Автор: alexgorbach 10.11.2013, 01:00 | ||
Точно, как я не догадался, спасибо. Да, представления - это вью. К кодам комбобоксы биндятся нормально, закрываю форму редактирования - и код в DataGridView обновляется, как и положено. Только вот незадача - связанное с этим кодом осмысленное поле-то не меняется. |