Получить индекс элемента из databound DevExpress CheckedListBoxControl
Я пытаюсь найти индекс определенного значения из CheckedListBoxControl . CheckedListBoxControl имеет источник данных, DisplayMember, ValueMember, установленный в DataTable, и два столбца, воспринимающие данные. Теперь я должен установить свойству CheckedState значение true, найдя его индекс из CheckedListBoxControl, используя некоторое значение из ValueMember и затем вызывая метод SetItemChecked () с этим индексом.
Я не могу найти ни одного свойства или метода, которые возвращает индекс. Пожалуйста помочь.
1 ответ:
Если элемент управления ListBox привязан к источнику данных, можно выполнить итерацию по всем элементам listbox с помощью метода GetItem () и свойства ItemCount:
for(int i = 0; i < checkedListBoxControl.ItemCount; i++) { object dataRow = checkedListBoxControl.GetItem(i); }
Для нахождения индекса указанного элемента можно воспользоваться методом 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 с привязкой к данным".