2015-03-26 5 views
-1

Я хочу сопоставить значения из читателя и флажок, чтобы изменить выбранные значения элемента checkboxlist. Но это не работает, и я не знаю, что делать? Благодарю.Как я могу получить значение в значениях элемента checkboxlist? C#

while (reader.Read()) 
     { 
         CheckBoxList1.Items.FindByValue(reader["malzeme_id"].ToString()).Selected = true; 
     } 

Я попытался также,

while (reader.Read()) 
     { 

for (int i = 0; i < CheckBoxList1.Items.Count; i++) 
      { 

       if (CheckBoxList1.Items[i].Value.Equals(reader["malzeme_id"].ToString())) 
       { 

        CheckBoxList1.Items[i].Selected = Convert.ToBoolean(reader["isSelected"]); 

       } 

}

+1

Определить, что «не работает». Разве это не компилируется? Вызывает ли это исключение? Вызывает ли это неправильный результат? Ничего не происходит? –

+0

код имеет ошибку. это турецкий, я переводил его как «объект не задан примером объекта» – lkalay

+0

@lkalay Я бы предположил, что это потому, что FindByValue возвращает null, а затем вы пытаетесь установить свойство Selected на нем - вы отлаживали? (т. е. разделить на 2 шага и посмотреть, что возвращает FindByValue) –

ответ

1

Это первая вещь, которую я нашел, когда я гугле как programaticly выбрать элемент в списке.

Если предположить, что элементы в вашем CheckedListBox являются строками:

for (int i = 0; i < checkedListBox1.Items.Count; i++) 

{ 
    if ((string)checkedListBox1.Items[i] == value) 
    { 
    checkedListBox1.SetItemChecked(i, true); 
    } 
} 

Или

int index = checkedListBox1.Items.IndexOf(value); 

if (index >= 0) 
{ 
    checkedListBox1.SetItemChecked(index, true); 
} 

Этот awnser был найден на this пост, и отправленный wdavo.

 Смежные вопросы

  • Нет связанных вопросов^_^