У меня есть «populate combobox», и я так счастлив, что даже начал использовать больше comboboxes. Он принимает объект combobox по ссылке с идентификатором «набора значений» (или того, что вы хотите назвать) из таблицы и добавляет элементы и их соответствующие значения (которые отличаются) и выполняет задание.Population ComboBoxDataColumn элементы и значения
Недавно я получил блестящую идею использования comboboxes в gridview, и я был рад заметить, что он работал JUST LIKE с одним списком, но одновременно заполнял все выпадающие списки в данном столбце.
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 - Если он работает так же, как и с combobox, в чем объясняется отсутствие этого атрибута?
----- [EDIT] ------
Так что я проверил цитату Чарльза, и я полагал, что я должен был изменить способ заполнения этих плохо мальчики. Вместо того, чтобы перебирать строки и вставлять их по одному в combobox, я должен захватить поля, которые я хочу заполнить в таблице, и установить один столбец таблицы как «значение», а другой - как «отображение», , Так что я сделал это:
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 | бар
Это просто, и с другим Наримером (за пределы GridViews) я уже успешно заселен циклом по строкам и добавление текстов:
ObjComboBox.Items.Add(MyDataTable.Rows[I]["MyColumnName"].ToString());
И получать каждое значение, добавив его в массив, и устанавливая это нравится:
ObjComboBox.Values = MyArray;
Я хотел бы, чтобы заполнить мои comboboxColumns так же просто, как я с Наримером.
Вы не звучат оскорбительно в all.Everyone знает структуру .NET, а также C# сильно документированы, и я не хочу звучать неблагодарный, но я бы подсчитал, что около 60 тысяч из 81 тысячи вопросов о C# были у людей, которые прочитали документацию, не поняли ее, неправильно истолковали ее или вообще не прочитали. Я среди них, я кое-что прочитал об этом, но не понял, как это сделать, проверил на S.O. и не сомневался в этом, тогда я решил задать вопрос об этом, и, возможно, другие люди смогут найти его в будущем, но спасибо! – Marcelo
@MarceloRamires: Вы, вероятно, правы. Помогает ли приведенная мной документация? На этой странице также есть несколько примеров. Если вы все еще смущены, я могу взломать для вас более простой пример. –
Я был бы рад =) Я обновил свой вопрос – Marcelo