سؤال

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top