How to add the copied rows as new rows in WPF DataGrid while pasting?
You can customize the clipboard operations in the SfDataGrid by overriding the GridCutCopyPaste class and assigning its instance to the SfDataGird.GridCopyPaste property as described in the following code example.
C#
this.sfdatagrid.GridCopyPaste = new CustomCopyPaste(sfdatagrid);
You can paste the copied content (clipboard content) as new rows in the SfDataGrid by overriding the PasteToRows method of the GridCutCopyPaste.
C#
public class CustomCopyPaste : GridCutCopyPaste { public CustomCopyPaste(SfDataGrid sfgrid) : base(sfgrid) { } protected override void PasteToRows(object clipboardrows) { var copiedRecord = (string[])clipboardrows; int copiedrecordscount = copiedRecord.Count(); //Based on the clipboard count added the new record to be pasted. if (copiedrecordscount > 0) { for (int i = 0; i < copiedrecordscount; i++) { // Creates new record. this.dataGrid.View.AddNew(); for (int j = 0; j < this.dataGrid.Columns.Count; j++) { var record = copiedRecord[i]; string[] splitRecord = Regex.Split(record, @"\t"); //Adds the new record by using the PasteToCell method, by passing the //created data, particular column, and clipboard value. this.PasteToCell(this.dataGrid.View.CurrentAddItem, this.dataGrid.Columns[j], splitRecord[j]); } // Commits the pasted record. this.dataGrid.View.CommitNew(); } } } }
So, when you trigger the paste action in the SfDataGrid by pressing Ctrl+V, new rows are added based on the clipboard content.
Sample Links:
Conclusion
I hope you enjoyed learning about how to add the copied rows as new rows in DataGrid while pasting.
You can refer to our WPF DataGrid feature tour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications. You can also explore our WPF DataGrid example to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!