Articles in this section
Category / Section

How to paste the data by custom column order instead of the first column in the DataGrid when SelectionUnit is a Row in WinRT?

1 min read

When SelectionUnit is a Row, the data can be pasted only from the first column, by default. Now, you can paste the copied data anywhere in the Grid by deriving a new class from GridCutCopyPaste and overriding the PasteToRow virtual method.

 

C# 

public class CustomCopyPaste : GridCutCopyPaste
    {
        public CustomCopyPaste(SfDataGrid sfgrid)
            : base(sfgrid)
        {
        }
        protected override void PasteToRow(object clipboardcontent, object selectedRecords)
        {
            //Splits the row into number of cells by using \t.
            clipboardcontent = Regex.Split(clipboardcontent.ToString(), @"\t");
            var copyValue = (string[])clipboardcontent;
            //For Row selection
            if (dataGrid.SelectionUnit == GridSelectionUnit.Row)
            {
                int columnindex = 0;
                //Gets the currentcell column index.
                var index = this.dataGrid.SelectionController.CurrentCellManager.CurrentCell.ColumnIndex;
                foreach (var column in dataGrid.Columns)
                {
                    if (index >= dataGrid.Columns.Count)
                        return;
                    if (copyValue.Count() <= this.dataGrid.Columns.IndexOf(column))
                        break;
                    // Calls the PasteToCell method and passes the copied data and pastes the column index.
                    PasteToCell(selectedRecords, this.dataGrid.Columns[index], copyValue[columnindex]);
                    index++;
                    columnindex++;
                }
            }
        }
    }

 

You can customize the GridCutCopyPaste class and assign its instance to the SfDataGird.GridCopyPasteproperty as described in the following code.

C#

this.sfdatagrid.GridCopyPaste = new CustomCopyPaste(sfdatagrid);

 

Sample Links:

WPF

WinRT

UWP

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied