2016-01-28 61 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 + +背后为+网络+形式+ –

相关问题