У меня есть "заполненный список", и я так доволен им, что даже начал использовать больше списков. Он берет объект комбинированного списка по ссылке с идентификатором «набора значений» (или как вы хотите его называть) из таблицы и добавляет элементы и их соответствующие значения (которые отличаются) и выполняет работу.
Недавно у меня появилась блестящая идея использовать комбо-боксы в виде сетки, и я был рад заметить, что он работает просто так, как один комбо-бокс, но одновременно заполняет все комбо-боксы в данном столбце.
ObjComboBox.Items.Add("yadayada");
//works just like
ObjComboBoxColumn.Items.Add("blablabla");
Но когда я начал планировать заполнение этих комбинированных списков, я заметил: в ComboBoxDataColumn нет свойства «Значения».
ObjComboBox.Values = whateverArray;
//works, but the following doesn't
ObjComboBoxColumn.Values = whateverArray;
Вопросы:
0 - Как мне заполнить его значения? (Я подозреваю, что это так же просто, но использует другое имя)
1 - Если это работает так же, как выпадающий список, каково отсутствие этого атрибута?
----- [EDIT] ------
Итак, я проверил цитату Чарльза и решил, что должен изменить свой способ заселения этих плохих парней. Вместо того, чтобы перебирать строки и вставлять их одну за другой в комбинированный список, я должен взять поля, которые я хочу заполнить в таблице, и установить один столбец таблицы как «значение», а другой - как «отображение» , Итак, я сделал это:
ObjComboBoxColumn.DataSource = DTConfig; //Double checked, guaranteed to be populated
ObjComboBoxColumn.ValueMember = "Code";
ObjComboBoxColumn.DisplayMember = "Description";
Но ничего не происходит, если я использую тот же объект, что и так:
ObjComboBoxColumn.Items.Add ( "StackOverflow"); * * тысячу двадцать-один
Добавлено.
Функция DataBind () отсутствует.
Он находит два столбца, и это гарантировано («Код» и «Описание»), и если я изменяю их имена на несуществующие, это дает мне исключение, так что это хороший знак.
----- [EDIT] ------
У меня есть таблица в SQL Server, похожая на
код | Текст
-----
1 | Foo
2 | бар
Это просто, и с другими выпадающими списками (за пределами сетки) я успешно заполнил циклы по строкам и добавил тексты:
ObjComboBox.Items.Add(MyDataTable.Rows[I]["MyColumnName"].ToString());
И получая каждое значение, добавляя его в массив и устанавливая его так:
ObjComboBox.Values = MyArray;
Я бы хотел заполнить свои списки со списком, так же просто, как я делаю со списком.