)
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 paste the data in the current cell when the ListBoxSelectionMode is enabled in WinForms GridControl?

Platform: WinForms |
Control: GridControl |
Published Date: May 6, 2015 |
Last Revised Date: December 16, 2019
Tags: copypaste, paste

Paste the data

In the GridControl, pasting the data in the current cell when the ListBoxSelectionMode is enabled is achieved by handling the ClipboardCanPaste event. By using this event, you can get the Clipboard text by accessing the GetData()of the GetDataObject() method. Then the data can be pasted in the current cell by using the PasteTextFromBuffer method.

C#

this.gridControl1.ListBoxSelectionMode = SelectionMode.One;
this.gridControl1.ClipboardCanPaste += new GridCutPasteEventHandler(gridControl1_ClipboardCanPaste);
void gridControl1_ClipboardCanPaste(object sender, GridCutPasteEventArgs e)
{
    //Checks whether the range is a Row.
    if (e.RangeList.ActiveRange.RangeType == GridRangeInfoType.Rows)
    {
        GridCurrentCell currentCell = this.gridControl1.CurrentCell;
        if (currentCell != null)
        {
            //Gets the Clipboard text.
            string clipboardText = Clipboard.GetDataObject().GetData(DataFormats.UnicodeText) as string;
            //Sets the ClipBoard text to the current cell.
            this.gridControl1.Model.TextDataExchange.PasteTextFromBuffer(clipboardText, currentCell.RangeInfo, e.ClipboardFlags);
            e.Result = false;
            e.Handled = true;
        }
    }
}

VB

Me.gridControl1.ListBoxSelectionMode = SelectionMode.One
AddHandler gridControl1.ClipboardCanPaste, AddressOf gridControl1_ClipboardCanPaste
'Handles the ClipboardCanPaste event.
Private Sub gridControl1_ClipboardCanPaste(ByVal sender As Object, ByVal e As GridCutPasteEventArgs)
    'Checks whether the range is a Row.
     If e.RangeList.ActiveRange.RangeType = GridRangeInfoType.Rows Then
           Dim currentCell As GridCurrentCell = Me.gridControl1.CurrentCell
              If currentCell IsNot Nothing Then
                  'Gets the Clipboard text.
                   Dim clipboardText As String = TryCast(Clipboard.GetDataObject().GetData(DataFormats.UnicodeText), String)
                 'Sets the ClipBoard text to the current cell.
           Me.gridControl1.Model.TextDataExchange.PasteTextFromBuffer(clipboardText, currentCell.RangeInfo, e.ClipboardFlags)
                 e.Result = False
                 e.Handled = True
             End If
       End If
End Sub

 

The following screenshot displays the data pasted when the LisBoxSelectionMode is enabled.

Data pasted when the listbox selection mode is enabled

 

Samples:

C#: PastedData

VB: PastedData

 

Reference link: https://help.syncfusion.com/windowsforms/grid-control/copy-and-paste

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