【问题标题】:One row selector in all Datagridview所有 Datagridview 中的一个行选择器
【发布时间】:2016-11-04 07:13:58
【问题描述】:

根据您在下面看到的是一个数据网格视图的示例,其中一个项目已被选中。

这是我的问题,如果我有超过 1 个 Datagridview 怎么办?我的意思是 5 个这样的 Datagridview。

它们都只包含 1 列。根据第一张图片,行选择器或蓝色选择器选择一个项目。

我的问题是如何让所有的 datagridview 只有一个行选择器?

当我选择了它们中的每一个时会发生什么,它们都有一行选择了 5 个选项。

我怎样才能为所有这些选择 1 行。

考虑更改选择颜色,但我认为这不适用。

TYSM 以获取未来帮助。

【问题讨论】:

  • 5 个或更多数据网格?那么如果您单击第一个数据网格中的第一行,第二个数据网格也会选择第一行,依此类推?这就是你想要达到的目标?
  • 不先生,示例我单击 datagridview1 所以有一个蓝色选择器,如果我单击 datagridview2 来自 datagridview1 的行选择器将消失,因为我选择了一个新的等等,例如一个有很多的 datagridview列和CellSelect SelectiondMode 5 个数据网格视图中的一个行选择器
  • 然后插入 clearselection 例如你点击 datagrid1 然后插入 dg2.clearselection() dg3.clearselection() 等等。然后如果你点击 datagrid2 然后插入 dg1.clearselection() dg3.clearselection() 等等。
  • 你的意思是datagridview1.ClearSelection?每次单击单元格时只需添加此代码?
  • 是的。如果单击 datagridview2,请确保清除 dg1 或 dg3 或 dg4 中的选定单元格,依此类推

标签: vb.net winforms datagridview


【解决方案1】:

如果您正在寻找替代方案,您也可以尝试这种方法:

Private Sub DataGridView_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles _
DataGridView1.CellEnter, DataGridView2.CellEnter, DataGridView3.CellEnter, DataGridView4.CellEnter, DataGridView5.CellEnter
    Dim MyDataGrids() As DataGridView = {DataGridView1, DataGridView2, DataGridView3, DataGridView4, DataGridView5}
    For i = 0 To MyDataGrids.Count - 1
        If MyDataGrids(i).Name = sender.Name Then
            Continue For
        Else
            MyDataGrids(i).ClearSelection()
        End If
    Next
End Sub

MyDataGrids()DataGridViews 的数组。例如,如果您需要检查的控件增加,只需在此数组中添加DataGridView 的名称,它将包含在检查和清除选择中。不要忘记Handles 事件。正如您在此处看到的,所有五个网格 .CellEnter 事件都包含在内,因此您不必将其复制粘贴到五个单独的事件中。

【讨论】:

    【解决方案2】:

    试试这个,如果添加更多网格,可能会更容易编辑

    Private Sub ClearSelectedCells(ByVal Identifier As Integer)
        If Identifier = 1 Then 'for datagrid 1
            dg2.ClearSelection()
            dg3.ClearSelection()
        ElseIf Identifier = 2 Then 'for datagrid 2
            dg1.ClearSelection()
            dg3.ClearSelection()
        'and so on
        .
        .
        End If
    End Sub
    
    
    Private Sub dg1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dg1.CellClick
        ClearSelectedCells(1)
    End Sub
    
    'and other gridcellclick
    .
    .
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2020-12-24
      • 2023-03-06
      相关资源
      最近更新 更多