【问题标题】:max number checkbox columns datagridview最大数量复选框列datagridview
【发布时间】:2015-01-09 12:55:01
【问题描述】:

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

【问题讨论】:

    标签: vb.net checkbox datagridview


    【解决方案1】:

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

    for i=5 to datagridview1.rows.count-1
    
    dataGridView1.Rows[i].Cells[columnindex].ReadOnly = true;
    
    next
    

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

    【讨论】:

      【解决方案2】:

      您可以在ViewState 中维护CheckBoxes 的状态,然后检查数组列表的长度,它会为您提供检查的项目数

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多