)
We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: June 24, 2019).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to validate the cell while pasting it in a grid in WinForms GridControl?

Platform: WinForms |
Control: GridControl |
Published Date: April 30, 2011 |
Last Revised Date: December 19, 2019

Validate the cell while paste in grid

You can validate the cell during the pasting in a grid using the grid.Model.PasteCellText event and when it is invalid, set e.Cancel = true. This event is not triggered when the current cell is in Edit mode. So the ActivateCurrentCellBehavior is changed to DblClickOnCell.

The following code example illustrates validating cell during pasting.

C#

this.gridControl1.Model.PasteCellText += Model_PasteCellText;
this.gridControl1.ActivateCurrentCellBehavior = GridCellActivateAction.DblClickOnCell;
void Model_PasteCellText(object sender, GridPasteCellTextEventArgs e)
 {
    if (e.ColIndex == 2)
    {
       Boolean intOK = true;
       foreach (char c in e.Text)
       {
          if (!Char.IsDigit(c))
          {
             intOK = false;
             MessageBox.Show("Only Digits are allowed in this field");
             break;
          }
     }
     if (!intOK)
     {
        e.Cancel = true;
     }
  }
}

VB

Me.gridControl1.Model.CutPaste.ClipboardFlags = Me.gridControl1.Model.CutPaste.ClipboardFlags And Not GridDragDropFlags.Styles
AddHandler Me.gridControl1.Model.PasteCellText, AddressOf Model_PasteCellText
Me.gridControl1.ActivateCurrentCellBehavior = GridCellActivateAction.DblClickOnCell
Private Sub Model_PasteCellText(ByVal sender As Object, ByVal e As GridPasteCellTextEventArgs)
    If e.ColIndex = 2 Then
 Dim intOK As Boolean = True
 For Each c As Char In e.Text
     If Not Char.IsDigit(c) Then
  intOK = False
  MessageBox.Show("Only Digits are allowed in this field")
  Exit For
     End If
 Next c
 If Not intOK Then
     e.Cancel = True
 End If
     End If
End Sub

 

Note:

When you are pasting text, for example, this is always the case in a GridDataBoundGrid or in the case of a GridControl when you copy from another object like an Excel spreadsheet, then you can use the grid.Model.PasteCellText event to validate the text that is being pasted. Otherwise when you are copying from a GridControl and pasting it in a GridControl, then by default, the style objects are copied and pasted, and PasteCellText is not raised. In this case, you can either turn off support for copying styles, allowing only text to be pasted and PasteCellText to be hit, or you can handle the grid.ClipboardPaste. To turn off style, copy and paste support in a gridcontrol, turning off this flag.

C#

//To Copy text alone
this.gridControl1.Model.CutPaste.ClipboardFlags &= ~GridDragDropFlags.Styles;

VB

‘To Copy text alone
Me.gridControl1.Model.CutPaste.ClipboardFlags = Me.gridControl1.Model.CutPaste.ClipboardFlags And Not GridDragDropFlags.Styles

Sample: http://www.syncfusion.com/downloads/support/directtrac/general/WF-15701-How_to_validate_cell_during_the_pasting_on_grid-387267445.zip

 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon