Solved

hitting the enter button in datagridviewtextcell

Posted on 2010-08-30
10
480 Views
Last Modified: 2012-05-10
I want to be able to hit the enter button in a datagridviewtextcell and have it create a new line within the cell and autoformat the size of the cell. How would I do that?
0
Comment
Question by:cobolinx1
  • 4
  • 4
  • 2
10 Comments
 
LVL 17

Expert Comment

by:nepaluz
ID: 33560905
Set (or leave) the datagridview property "AllowUserToAddRows" to true for a new line.

To autoresize the cell, call an autoresize routine from the CellEndEdit.

I am not sure you can create a new line in a cell if that is what you want.
0
 

Author Comment

by:cobolinx1
ID: 33561197
Is there a way to capture the keystroke in the cell and if its the enter button make the cell values = cellvalue & vbnewline?
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
ID: 33561410
yes you can ....
use Editing Control Showing event like this


Private WithEvents thiscontrol As TextBox

   

    Private Sub MyDataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MyDataGridView.EditingControlShowing

        Try

            If MYDataGridView.CurrentCell.ColumnIndex = "YOURCOLUMNINDEX" Then

                thiscontrol = CType(e.Control, TextBox)

  Else

                thiscontrol = Nothing



            End If

Private Sub thiscontrol_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles thiscontrol.KeyDown

    If e.KeyCode = Keys.Return Then



.....WHAT YOU WANT.....

End Sub

Open in new window

0
 

Author Comment

by:cobolinx1
ID: 33562300
Nope it interprets the enter key as moving to the next row before it can fire off the keydowncode
0
 
LVL 17

Expert Comment

by:nepaluz
ID: 33562305
think...... then how do you move FROM the cell if the enter key is "escaped" to a vbnewline?

(Actually, I am surprised that you can do a vbnewline in a datagridviewcell, but then again, something new a day, not bad.)
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:cobolinx1
ID: 33562416
...I would actually be mouse clicking off it and when it lost focus Id create a new line in the datagridview.. I guess I could have the user type in a textbox and when they click a button they could add it to the datagridview...no other way though??
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
ID: 33562956
mmm...so you need a multiline textbox????
0
 
LVL 18

Accepted Solution

by:
John (Yiannis) Toutountzoglou earned 500 total points
ID: 33563051
so in my previous code set  thiscontrol.Multiline = True
Private WithEvents thiscontrol As TextBox

   

    Private Sub MyDataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MyDataGridView.EditingControlShowing

        Try

            If MYDataGridView.CurrentCell.ColumnIndex = "YOURCOLUMNINDEX" Then

                thiscontrol = CType(e.Control, TextBox)

                thiscontrol.Multiline = True

  Else

                thiscontrol = Nothing



            End If

Private Sub thiscontrol_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles thiscontrol.KeyDown

    If e.KeyCode = Keys.Return Then

     thiscontrol.text=thiscontrol.text & VbNewLine

.....WHAT YOU WANT.....

End Sub

Open in new window

0
 
LVL 18

Assisted Solution

by:John (Yiannis) Toutountzoglou
John (Yiannis) Toutountzoglou earned 500 total points
ID: 33563126
this is one option ...
the other way is to set Default Cell style Wrap mode to true ...and to add a new line while editing press Shift_Enter (that is by deafault)..
0
 

Author Closing Comment

by:cobolinx1
ID: 33568054
I would have to capture the keydown before the cellendedit and then then try to set the cursor back. I think I'll just have them hit shift and enter. Thanks.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

943 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now