DataGridView / BeginEdit(True) ?

Using vb.net/winform and DataGridView. On the CellEnter event I have BeginEdit(True). This is fine. Only that the cursor is placed at the end of whatever text exists. I would like to have the cursor either at the beginning of the text or for the entire text to be selected and whatever is typed erases it. How can I do this?
LVL 1
Jess31Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
cheb1Connect With a Mentor Commented:
How about this:

 Dim editControl As DataGridViewTextBoxEditingControl = DirectCast(_your_grid.EditingControl, DataGridViewTextBoxEditingControl)

        If Not editControl Is Nothing Then
            editControl.SelectionStart = 0
            editControl.SelectionLength = editControl.Text.Length
        End If
0
 
ZhaolaiCommented:
By doing BeginEdit(True), the entire text is selected when clicking on the cell and typing anything into the cell does erase the selected text, which is what you want.

Do you not see the entire text being selected when clicking the cell? If so, you may have other event(s) which removes the selection.
0
 
John (Yiannis) ToutountzoglouInstructor Multiengine PilotCommented:

Private WithEvents thiscontrol as control
Private Sub Me.DataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles Me.DataGridView.EditingControlShowing
        Try
            If DataGridView.CurrentCell.ColumnIndex = "YourColumnIndex Then
                thiscontrol = CType(e.Control, TextBox)
                thiscontrol.SelectionStart=0
            Else
                thiscontrol = Nothing
            End If

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.