Я пытаюсь получить отображаемые значения всех элементов, представленных в comboBox
.
Первый случай : если поле со списком было заполнено с помощью DataSource
:
comboBox.DataSource = myDataSet.Tables[0];
comboBox.DisplayMember = "value";
comboBox.ValueMember = "id";
... Я использую этот код:
foreach (DataRowView rowView in comboBox.Items) {
String value = rowView.Row.ItemArray[1].ToString();
// 1 corresponds to the displayed members
// Do something with value
}
Второй случай : если поле со списком заполнено comboBox.Items.Add("blah blah")
, я использую тот же кодЗа исключением того, что я должен смотреть в первом измерении ItemArray
:
foreach (DataRowView rowView in comboBox.Items) {
String value = rowView.Row.ItemArray[0].ToString();
// 0 corresponds to the displayed members
// Do something with value
}
Теперь я хотел бы иметь возможность получить все значения, не зная схемы, используемой для заполнения comboBox.Таким образом, я не знаю, должен ли я использовать ItemArray[0]
или ItemArray[1]
.Является ли это возможным?Как я мог это сделать?