Получить индекс элемента из привязанной к данным DevExpress CheckedListBoxControl - PullRequest
3 голосов
/ 25 января 2012

Я пытаюсь найти индекс определенного значения из CheckedListBoxControl . CheckedListBoxControl имеет DataSource, DisplayMember, ValueMember, установленный в DataTable, и два столбца соответственно. Теперь я должен установить для свойства CheckedState значение true, найдя его индекс из CheckedListBoxControl, используя некоторое значение из ValueMember, а затем вызвав метод SetItemChecked () с этим индексом.

Мне не удалось найти какое-либо свойство или метод, который возвращает индекс. Пожалуйста, помогите.

1 Ответ

4 голосов
/ 25 января 2012

Если элемент управления со списком привязан к источнику данных, вы можете выполнять итерации по всем элементам списка, используя метод GetItem () и свойство ItemCount:

for(int i = 0; i < checkedListBoxControl.ItemCount; i++) {
    object dataRow = checkedListBoxControl.GetItem(i);
}

Toнайти индекс указанного элемента, который вы можете использовать FindItem () метод
поиск по DisplayText:

string s = "searchString";
int index = checkedListBoxControl.FindItem(startIndex, true, delegate(ListBoxFindItemArgs e) {
   e.IsFound = s.Equals(e.DisplayText);
});

поиск по ValueMember:

object value = 100;
int index = checkedListBoxControl.FindItem(startIndex, true, delegate(ListBoxFindItemArgs e) {
   e.IsFound = object.Equals(value, e.ItemValue);
});

Также ознакомьтесь со статьей " Как получить проверенные строки в привязанной к данным CheckedListBoxControl ".

...