Vb.net 最大数量复选框列datagridview
我在VB.NET中工作,有一个包含多列的datagridview,第一列是checkboxcolumn。我想添加限制用户可以选择的行数的功能。例如,我可能在datagridview中有10行条目,但只允许选中5个复选框。有人对如何进行这项工作有什么想法吗 您可以使用datagridview的readonly属性来阻止编辑。并使用for循环来限制要禁用的所有行Vb.net 最大数量复选框列datagridview,vb.net,checkbox,datagridview,Vb.net,Checkbox,Datagridview,我在VB.NET中工作,有一个包含多列的datagridview,第一列是checkboxcolumn。我想添加限制用户可以选择的行数的功能。例如,我可能在datagridview中有10行条目,但只允许选中5个复选框。有人对如何进行这项工作有什么想法吗 您可以使用datagridview的readonly属性来阻止编辑。并使用for循环来限制要禁用的所有行 for i=5 to datagridview1.rows.count-1 dataGridView1.Rows[i].Cells[co
for i=5 to datagridview1.rows.count-1
dataGridView1.Rows[i].Cells[columnindex].ReadOnly = true;
next
指定要在列索引处禁用的列的索引。此代码将禁用对datagridview第6行到最后一行的编辑。您可以在ViewState中维护复选框的状态,然后检查数组列表的长度,该列表不提供任何选中项
Dim CheckBoxArray As ArrayList
If ViewState("CheckBoxArray") IsNot Nothing Then
CheckBoxArray = DirectCast(ViewState("CheckBoxArray"), ArrayList)
Else
CheckBoxArray = New ArrayList()
End If
从ViewState添加或删除项目
If chkAll.Checked Then
If CheckBoxArray.IndexOf(checkAllIndex) = -1 Then
CheckBoxArray.Add(checkAllIndex)
End If
Else
If CheckBoxArray.IndexOf(checkAllIndex) <> -1 Then
CheckBoxArray.Remove(checkAllIndex)
CheckAllWasChecked = True
End If
End If