如何在cellclick上选择行,并在列标题上单击列? [英] how to select rows on cellclick, and also columns on column header click?

查看:591
本文介绍了如何在cellclick上选择行,并在列标题上单击列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我想通过点击列选择列,并通过点击单元格来选择行。



这段代码不能完成这项工作。

  Private Sub datagridview2_ColumnHeaderMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs)处理datagridview2.ColumnHeaderMouseClick 

datagridview2.Columns(e.ColumnIndex ).Selected = True

End Sub

这些gridview选项是我在代码

  For Each c As DataGridViewColumn in datagridview2.Columns 
c.SortMode = DataGridViewColumnSortMode.NotSortable

c.Selected = False
Next

datagridview2.SelectionMode = DataGridViewSelectionMode.FullRowSelect

我希望有人能帮忙。干杯b101

编辑:好的列和行选择工作fia标题点击。现在需要通过点击单元格来选择一个单元格。
以下代码有效,但有2次点击。第一次点击取消选择行或列,第二次点击选择单元格

  Private Sub datagridview2_CellMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs )处理datagridview2.CellMouseClick 
datagridview2.SelectionMode = DataGridViewSelectionMode.CellSelect

End Sub

如果我尝试通过e.columnindex e.rowindex
选择单元格点击事件中的卖出,它会引发异常情况。索引是完全愚蠢的像-1或一些相似的索引,但不存在。



编辑2:
此代码不起作用

  Private Sub datagridview2_CellMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs)处理datagridview2.CellMouseClick 


datagridview2.SelectionMode = DataGridViewSelectionMode。 CellSelect
datagridview2.Rows(e.RowIndex).Cells(e.ColumnIndex).Selected = True




End Sub



Private Sub datagridview2_ColumnHeaderMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs)处理datagridview2.ColumnHeaderMouseClick

datagridview2.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect
datagridview2.Columns (e.ColumnIndex).Selected = True

End Sub

Private Sub datagridview2_RowHeaderMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs)处理datagridview2.RowHeaderMouseClick
datagridview2.SelectionMode = DataGridViewSelectionMode.FullRowSelect
datagridview2.Rows(e.RowIndex).Selected = True
End Sub

当点击标题时,它会跳转到cellmouseclick事件中。

解决方案

  Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs)处理DataGridView1.ColumnHeaderMouseClick 
DataGridView1.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect
DataGridView1.Columns(e.ColumnIndex).Selected = True

End Sub

Private Sub DataGridView1_RowHeaderMouseClick(sender As Object,e As DataGridViewCellMouseEventArgs)处理DataGridView1.RowHeaderMouseClick
如果e.ColumnIndex = -1并且DataGridView1.SelectionMode<> DataGridViewSelectionMode.RowHeaderSelect和DataGridView1.Rows(e.RowIndex).Selected = False Then
DataGridView1.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect
DataGridView1.Rows(e.RowIndex).Selected = True
End If
End Sub
Private Sub DataGridView1_CellClick(sender As Object,e As DataGridViewCellEventArgs)处理DataGridView1.CellClick
如果e.RowIndex> -1和DataGridView1.SelectionMode<> DataGridViewSelectionMode.CellSelect Then
DataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect
DataGridView1.CurrentCell.Selected = True
End If
End Sub


Hello I want to select the column via columnheader click, and also select the row via cell click.

This code doesnt do the job.

 Private Sub datagridview2_ColumnHeaderMouseClick(sender As Object, e As              DataGridViewCellMouseEventArgs) Handles datagridview2.ColumnHeaderMouseClick

    datagridview2.Columns(e.ColumnIndex).Selected = True

End Sub

these gridview options I made in the code

    For Each c As DataGridViewColumn In datagridview2.Columns
        c.SortMode = DataGridViewColumnSortMode.NotSortable

        c.Selected = False
    Next

    datagridview2.SelectionMode = DataGridViewSelectionMode.FullRowSelect

I hope someone can help out. Cheers b101

Edit: well column and row select works fia header click. Now it is needed to select one single cell by cell click. The following code works, but with 2 clicks. the first click unselects row or column and the second click selects the single cell

Private Sub datagridview2_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview2.CellMouseClick
    datagridview2.SelectionMode = DataGridViewSelectionMode.CellSelect

End Sub

If I try to select the sell in the cell click event via e.columnindex e.rowindex it throws a outofrangeexception. the indexes are totally stupid like -1 or some simililar index wich doesnt exist.

Edit 2: This code doesnt work

Private Sub datagridview2_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview2.CellMouseClick


    datagridview2.SelectionMode = DataGridViewSelectionMode.CellSelect
    datagridview2.Rows(e.RowIndex).Cells(e.ColumnIndex).Selected = True




End Sub



Private Sub datagridview2_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview2.ColumnHeaderMouseClick

    datagridview2.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect
    datagridview2.Columns(e.ColumnIndex).Selected = True

End Sub

Private Sub datagridview2_RowHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview2.RowHeaderMouseClick
    datagridview2.SelectionMode = DataGridViewSelectionMode.FullRowSelect
    datagridview2.Rows(e.RowIndex).Selected = True
End Sub

When click on headers itjumps into cellmouseclick event

解决方案

Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick
    DataGridView1.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect
    DataGridView1.Columns(e.ColumnIndex).Selected = True

End Sub

Private Sub DataGridView1_RowHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseClick
    If e.ColumnIndex = -1 And DataGridView1.SelectionMode <> DataGridViewSelectionMode.RowHeaderSelect And DataGridView1.Rows(e.RowIndex).Selected = False Then
        DataGridView1.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect
        DataGridView1.Rows(e.RowIndex).Selected = True
    End If
End Sub
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
    If e.RowIndex > -1 And DataGridView1.SelectionMode <> DataGridViewSelectionMode.CellSelect Then
        DataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect
        DataGridView1.CurrentCell.Selected = True
    End If
End Sub

这篇关于如何在cellclick上选择行,并在列标题上单击列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆