最大数量复选框列datagridview

时间:2015-01-09 04:43:40

标签: vb.net checkbox datagridview

我在VB.NET中工作,并且有一个包含多个列的datagridview,第一个是checkboxcolumn。我想添加功能来限制用户可以选择的行数。例如,我可能在datagridview中有10行条目,但是只想允许检查5个复选框。有没有人对如何解决这个问题有任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用datagridview的readonly属性来阻止编辑。并使用for循环来限制要禁用的所有行。

for i=5 to datagridview1.rows.count-1

dataGridView1.Rows[i].Cells[columnindex].ReadOnly = true;

next

指定要在列index处禁用的列的索引。此代码将禁用编辑datagridview的第6行到最后一行。

答案 1 :(得分:0)

您可以在CheckBoxes中维护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