0

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

steve
  • 123
  • 1
  • 14
  • Sorry satson was at table soccer with department :)) It works with one exception, i cannot select a single table cell by clicking it with mouse. – steve Apr 17 '14 at 11:56
  • on rowheader Click I want fullrowselection, on columnheaderclick I want full column selection, on cellclick, I want cellselection. – steve Apr 17 '14 at 13:18
  • Hello Satson thx for your effort. It works with the exception, that I can only switch to cell selection after column selection. When rowselection is true I cannot switch to cell selection, first I need to switch to column selection! – steve Apr 22 '14 at 08:02
  • if you press column header then column selection work, row header select row selection work, if you select cell that a cell selection. Now What kind of changes you want? – Sathish Apr 22 '14 at 08:43
  • Oh sorry I forgot to update this thread. It was only a typo in cellklickmethod() I wrote gridiew1 instead of gridview2. It works all fine. Thx – steve Apr 22 '14 at 08:47

1 Answers1

1
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
Community
  • 1
  • 1
Sathish
  • 4,419
  • 4
  • 30
  • 59