2016-01-28 6 views
0

Я передаю значения, разделенные запятой, этой функции и проверяет элементы в списке флажков в соответствии со значениями. Но после вызова функции нет элементов.VB.NET: CheckBoxList - программная настройка Элементы как проверено

Например, я передаю строку «1,5,8», надеясь, что 3 элемента со значением 1,5,8 в checkboxlist получат статус «checked = true». Но они этого не делают.

Private Sub GetListValuesFromCommaSeparatedValueString(ByRef lst As CheckBoxList, s As String) 
    If IsNothing(s) Or s = "" Then 
     Exit Sub 
    End If 

    Dim array = s.Split(",") 

    For Each value As String In array 
     lst.Items.FindByValue(value).Selected = True 
    Next 

End Sub 
+2

Это WInforms? – Plutonix

+0

Это веб-формы. Извините, забыл упомянуть. – Cal

+0

Простите, что checkboxlist databind произошел после вызова функции. Вот почему он не работал. Виноват. – Cal

ответ

1

Вы должны использовать проверили свойство, выбранные моменты только определенный пункт в списке

lst.Items.FindByValue(value).Checked = True 
+0

Это веб-форма, проверенная недвижимость недоступна. – Cal

+1

@Cal В следующий раз постарайтесь предоставить как можно больше деталей, включая более полные образцы кода, описание и теги. В этом случае вы сможете получить более подробную и быструю помощь в решении вашей проблемы. – MoreThanChaos

1

Вы бы хотите Checked свойства CheckBox не Selected.

For Each value As String In array 
    lst.Items.FindByValue(value).Checked = True 
Next 

Дополнительная информация о Checked.

+0

Это веб-форма, проверенная недвижимость недоступна. – Cal

+0

Я не парень ASP, но быстрый google показал это: http://forums.asp.net/t/1564441.aspx?How+to+access+check+box+checked+in+C+code + за + для + сети + формы + –

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