2016-01-28 88 views
0

我將逗號分隔值傳遞給此函數,並根據值檢查複選框列表中的項目。但函數調用後沒有檢查項目。VB.NET:CheckBoxList - 以編程方式將項目設置爲選中

例如,我傳遞一個字符串「1,5,8」,希望checkboxlist中值爲1,5,8的3個項目將獲得「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數據綁定。這就是爲什麼它不起作用。我的錯。 – Cal

回答

1

您應該使用checked屬性,選擇的亮點只有某些項目上的列表

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

這是網絡形式,檢查屬性不可用。 – Cal

+1

@Cal下一次嘗試提供儘可能詳細的信息,包括更完整的代碼示例,說明和標籤。在這種情況下,您將能夠針對您的問題獲得更詳細和更快速的幫助。 – MoreThanChaos

1

你想要的CheckBoxSelectedChecked財產。

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

有關Checked的更多信息。

+0

它是webform,Checked屬性不可用。 – Cal

+0

我不是一個ASP的人,但一個快速的谷歌出現了這個:http://forums.asp.net/t/1564441.aspx?How+to+access+check+box+checked+in+C+code + +背後爲+網絡+形式+ –

相關問題