Copy & paste via system clipboard
FastGrid documentation
If the copying will be internally inside FastGrid or via system clipboard.
0 - to clipboard only,
1 - to clipboard and to the grid private cache,
2 - to clipboard and to global FastGrid cache available to all grids,
3 - only to the grid private cache,
4 - only to global FastGrid cache available to all grids.
Comma separated list or array of row ids that will be copied to / filled by paste from clipboard as chosen rows according to
Copying /
PasteFillRows.
If the item starts by "
-", it is marked as not chosen and is not copied to / pasted from clipboard as not chosen rows according to
Copying /
PasteFillRows.
If there is item named "
-", it represents all applicable rows as not chosen.
If there is item named "
*", it represents all applicable rows as chosen. For example "*,-Row3" chooses all rows except Row3.
If the item is not present in the list, it is marked as "?" in the menu and is used chosen in copying / pasting all and as not chosen if copying / pasting selected / focused.
Comma separated list or array of column ids that will be copied to / filled by paste from clipboard as chosen columns according to
Copying /
PasteFillCols.
If the item starts by "-", it is marked as not chosen and is not copied to / pasted from clipboard as not chosen columns according to
Copying /
PasteFillCols.
If there is item named "
-", it represents all applicable columns as not chosen.
If there is item named "
*", it represents all applicable columns as chosen. For example "*,-Col1" chooses all columns except Col1.
Which rows are copied / filled by paste:
NoCopy - copies / pastes also rows with
NoCopy =
1.
Collapsed - copies / pastes also collapsed children.
Hidden - copies / pastes also manually hidden rows.
Filtered - copies / pastes also filtered rows.
Deleted - copies / pastes also deleted rows.
Parents - copies also all parents of copied rows.
Children - copies also all children of copies rows.
Block - copies / pastes also other rows in
Block.
Which columns are copied / filled by paste:
NoCopy - copies / pastes also columns with
NoCopy =
1.
Collapsed - copies / pastes also collapsed children.
Hidden - copies / pastes also manually hidden columns.
Filtered - copies / pastes also filtered columns.
Deleted - copies / pastes also deleted columns.
Parents - copies also all parents of copied columns.
Children - copies also all children of copies columns.
Block - copies / pastes also other columns in
Block.
If and which special FastGrid attributes are copied also as TD attributes and not only CSS style attributes.
Used for mainly for iOS where the class attributes are removed on paste.
The more attributes are copied, the more increases the copied HTML and slightly slows down copying and pasting.
0 - no,
1 - only fg-format,
2 - also fg-rotate, fg-pattern,
&
4 -
0 only on iOS,
4 - always.
Copy to clipboard
Copying to clipboard uses also these export attributes and method:
cell attributes FE, ExportValue, ExportFormat,
Cfg attributes ExportDateFormat, ExportStringPrefix
and method GetExport.
Which rows and columns are copied to clipboard.
0 -
none - copies nothing,
1 -
focused cell(s) - copies focused cells only,
2 -
selected rows / columns or
focused cell(s) - copies selected rows and chosen rows with selected columns and chosen columns.
If no columns selected, copies selected rows and chosen rows with all columns except not chosen columns.
If no rows selected, copies selected columns with all rows except not chosen rows.
If no selection, copies focused cells.
3 -
selected rows / columns or
focused row(s) - like
2, but if no selection, copies focused rows with all columns except not chosen columns.
If row selection is restricted and column selection is permitted, copies focused columns with all rows except not chosen rows.
4 -
focused cells or
selected rows / columns or
focused cell - copies focused cells if permitted focusing rectangle by
Focus>=
2, otherwise like
2.
5 -
focused cells or
selected rows / columns or
focused row - copies focused cells if permitted focusing rectangle by
Focus>=
2, otherwise like
3.
6 -
all rows and columns - copies all rows and all columns except those not chosen in copy menu.
If copies focused cell and focusing rectangle is
not permitted by
Focus>=
2, it always copies only the one cell regadless on other settings.
Controls copying multiple column sets to clipboard to html, their column span.
0 - columns are copied standalone, every column in every set is exported to single column.
-1 - calculates the destination columns to correctly accomodate all set columns, so all the columns are copied with their exact widths.
-2 - chooses the base set as the set with the highest count of columns and spans the columns in other sets as close to destination columns as possible.
-3 - chooses the base set as the set with the highest count of columns, but copies all set columns one by one without span.
If set to column set id or index, this column set is copied as base, one copied column per one destination column, and the other column set columns are spanned as close to destination columns as possible.
If set to number >= 10, it specifies width of destination columns (e.g. 64 for base MS Excel width) and all copied set columns are spanned as close as possible to the destination columns.
It is set to -1, if copying column margin is set by CopySizes&32.
It is set to -3, if copying column widths is not permitted by CopySizes&2.
If and how the cell values are copied to clipboard MIME "text/plain" - base clipboard format with only values.
Values are always copied without html code.
0 - no,
1 - raw values,
2 - values in editable format,
3 - values in display format.
If and how the cell values are copied to clipboard MIME "text/html" - clipboard format with values and styles.
Values can contain html code if set
CopyStyles contains
Html.
0 - no,
1 - raw values with
Format attribute in
mso-number-format Excel CSS attribute and in
fg-format FastGrid CSS attribute.
2 - values in editable format,
3 - values in display format,
4 - empty values,
5 - empty values with
Format attribute in
mso-number-format Excel CSS attribute and in
fg-format FastGrid CSS attribute.
If and how the cell styles are copied to clipboard MIME "text/html" - clipboard format with values and styles:
Align - copies cell
Align to CSS
text-align.
VertAlign - copies cell
VertAlign to CSS
vertical-align.
Wrap - copies cell
Wrap to CSS
white-space and special FastGrid attribute
fg-wrap.
Indent - copies cell
Indent to CSS
padding-left or
padding-right and to special Excel
mso-char-indent-count and special FastGrid
fg-indent.
Rotate - copies cell
Rotate to CSS
writing-mode and
transform and to special Excel
mso-rotate and special FastGrid
fg-rotate.
NoEdit - copies cell edit permissions attributes
NoEdit and
FormulaNoEdit to special Excel
mso-protection.
Border - copies cell
RowBorder and
ColBorder attributes to CSS
border-... attributes and to CSS
border-style with specific Excel CSS border-style values and to
fg-rowborder and
fg-colborder FastGrid CSS attributes.
Color - copies cell
Color attribute to CSS
background-color.
Pattern - copies cell
Pattern to special Excel
mso-pattern and special FastGrid
fg-pattern.
TextColor - copies cell
TextColor to CSS
color.
TextStyle - copies cell
TextStyle to CSS
font-weight and
font-style.
TextLine - copies cell
TextLine to CSS
text-decoration-... and special Excel attribute
text-underline-style.
TextSize - copies cell
TextSize to CSS
font-size and
line-height.
TextFont - copies cell
TextFont to CSS
font-family.
Formula - copies cell editable formulas to
fg-formula FastGrid attribute in
td tag.
The formulas cannot be copied to and from MS Excel, because it does not support this feature!
Tip - copies
Tip attribute to HTML
title attribute in
td tag.
Link - copies
Link attribute to
html as <a>.
State - copies state background colors to CSS
background-color attribute.
Html - copies cell html.
RowAttr - copies also row and default row attributes according to other keywords.
ColAttr - copies also column and default column attributes according to other keywords.
Calculated - copies also calculated cell attributes from default cells.
ColorBorder - sets default cell border for cells with background color, if set keywords
Border and
Color.
DefaultBorder - copies cell default border, it adds border to all cells without border.
It can override too light borders set in cells.
Bool - copies Bool type as BoolTexts also for
CopyHtml =
1 and
CopyText =
1.
D - copies row
D id to <tr FastGrid
fg-d attribute and column
D id to <col FastGrid
fg-d attribute.
It can be used only when pasting back to FastGrid.
id - copies row
id to <tr FastGrid
fg-id attribute and column
id to <col FastGrid
fg-id attribute.
It can be used only when pasting back to FastGrid.
L - copies row
L to <tr FastGrid
fg-l attribute and column
L to <col FastGrid
fg-l attribute.
It can be used only when pasting back to FastGrid.
Collapsed - copies row
Collapsed to <tr FastGrid
fg-collapsed attribute and column
Collapsed to <col FastGrid
fg-collapsed attribute.
It can be used only when pasting back to FastGrid.
If and how the row heights and column widths and their span and margins are copied to html.
Height - copies row heights.
Width - copies column widths.
RowSpan - copies row span.
It can remarkably slow down pasting in Excel!
ColSpan - copies column span.
It can remarkably slow down pasting in Excel!
RowMargin - copies row margin.
Ignored if not set Height.
ColMargin - copies column margin. If set, sets
CopyColSet =
-1.
Ignored if not set Width.
RestMargin - copies row rest margin.
If copying to clipboard is taking more than this time in milliseconds, progress message is shown during copying and a user must perform the copy action again after finish (e.g. press Ctrl+C again while the dialog is shown) to copy to clipboard or press Cancel button to cancel the action.
If set to
0, the copying is always synchronous and cannot be cancelled during long process.
Maximum cells to copy to html by
CopyHtml. If copied more cells, only text copy is done by
CopyText (if not set, value 2 or 3 is used according to the CopyHtml).
The maximum on tablets is reduced to 100,000.
If amount of copied spanned cells by
CopyHtml&
256 reaches this limit, warning message is shown (all the cells are copied anyway).
MS Excel has a problem with pasting data with many spanned cells and can freeze in such case.
Comma separated string or array of items shown in menu for toolbar cell Copy. Set it to "" to not show the menu and the popup icon. It can contain "-" item as separator. Case sensitive. It can contain these keywords:
Styles (changes
CopyStyles attribute):
Color (&
1, text and background color),
Align (&
2, horizontal align),
TextStyle (&
4, text style and font),
VertAlign (&
8, vertical align),
Border (&16, cell border),
AllStyle (&
31),
Edit (&
32, editing permissions),
Link (&
64, cell hyperlinks),
Formula (&
128, editable formulas, but ignored by MS Excel),
CellHtml (&
256, HTML code in cell value),
State (&
2048, state colors for added or changed rows and cells),
DefBorder (&
24576, default grid border),
Tree (&
32768, tree symbols to xlsx),
Comment (&
65536, cell Tip attribute).
Rows and columns: (changes
CopyPasteRowsType and / or
CopyPasteColsType:
Collapsed (&
2, children of collapsed parents),
Hidden (&
4, manually hidden),
Filtered (&
8, hidden by filter),
AllHidden (&
14, all hidden by any reason),
Deleted (&
16, deleted, but not removed),
Children (&
32, also all children),
Parent (&
64, also all parents),
CollapsedRows,
HiddenRows,
FilteredRows,
AllHiddenRows,
DeletedRows,
ChildRows,
ParentRows (control only
CopyPasteRows),
CollapsedCols,
HiddenCols,
FilteredCols,
AllHiddenCols,
DeletedCols,
ChildCols,
ParentCols (control only
CopyPasteCols).
Sizes and span (changes
CopySizes attribute):
Height (&
1, row heights),
Width (&
2, column widths),
Size (&
3, row heights and column widths),
RowSpan (&
4, cell row span),
ColSpan (&
8, cell column span),
Span (&
12, cell row and column span),
RowMargin (&
16, space between rows),
ColMargin (&
32, space between columns),
Margin (&
48, all space between cells),
MarginRest (&
64, space after last column if exporting more column sets with different width),
HideRowsOut (&
128, hides all remaining rows in xlsx),
HideColsOut (&
256, hides all remaining columns in xlsx),
HideOut (&
384, hides all remaining rows and columns in xlsx).
Other options:
Items (changes
Copying attribute, chooses items from popup list),
Html (changes
CopyText and
CopyHtml attributes, chooses items from popup list),
Layout (changes
CopyPasteRows and
CopyPasteCols attributes, chooses items from popup submenu).
To hide disabled items in the menu set:
DefTools:{ Copy:{ ListMenu:{ Script:{ HideDisabled:1 } } } } .
To show the menu in two columns set:
DefTools:{ Copy:{ ListMenu:{ Script:{ Columns:2 } } } } .
If set, used instead of
AutoRemove to get rows / columns for copy when the part adds rows / columns automatically by
Auto.
If copying the row / column data to clipboard is restricted.
-1 copied always either if hidden and hidden are not copied,
0 copied,
1 not copied,
2, not copied either if set
CopyPasteRowsType&
1 /
CopyPasteColsType&
1.
Tool string
D
= "Copy"
Default toolbar cell to show Copy icon to copy chosen content to clipboard and to show copying options defined by
CopyMenu.
Copy to clipboard can be done also by
Ctrl + C /
Ctrl + X.
Actions
Copy
(int target = 0)
OnClickCopy
Copies the grid data to clipboard according to the actual copy and export settings.
API event bool
OnCopy
(Grid grid, bool cut, HTMLEvent event)
Called before copying to clipboard started. Use it to preset copy and export attributes.
cut is set for Cut to clipboard action.
event is standard JavaScript copy / cut event.
Return true to suppress the action.
API event bool
OnCopyCells
(Grid grid, Row[] rows, Col[] cols)
Called before copying to clipboard started, after the
OnCopy. Use it to change copied rows and columns.
The
rows and
cols are rows and columns that will be copied, the event can modify content of these arrays.
Return true to suppress the action.
API event any
OnCopied
(Grid grid, string text, string html, HTMLEvent event)
Called after generated data for copy before placed them to clipboard.
text is plain text,
html is data in html format, it can be null.
event is standard JavaScript copy / cut event.
Return array as [txt,html] to modify the data. Return true to suppress placing the data to clipboard.
Paste from clipboard
If pasting cells/rows/columns from clipboard to grid is permitted.
If set and there are some selected rows, pastes only to the selected rows.
If set and there are some selected columns, pastes only to the selected columns.
How the focused and next rows will be filled by pasted content.
0 -
none - no focused row will be filled.
1 -
focused - only focused rows will be filled.
2 -
next - focused rows and below rows will be filled.
3 -
all - all rows from top to bottom will be filled.
4 -
next or all - focused rows and below rows will be filled, but if the pasted range is higher, all rows from top to bottom will be filled.
How the focused and next columns will be filled by pasted content:
0 -
none - no focused column will be filled.
1 -
focused - only focused columns will be filled.
2 -
next - focused columns and next right columns will be filled.
3 -
all - all columns from left to right will be filled.
4 -
next or all - focused columns and next right columns will be filled, but if the pasted range is wider, all columns from left to right will be filled.
If set, focuses pasted range, if permitted focusing range by
Focus >=
2.
If set and the pasted content contains only single value, fills it always to focused cell.
If set to
2, it always pastes the one value as string and not as source of another cell if set
CopyPasteInternal.
If group separator is pasted if
InputDecimalSeparators contains
GroupSeparator.
0 - the group separator is pasted as decimal separator,
1 - the group separator is pasted as group separator,
2 - the group separator is pasted as group separator only if there are 3 digits on its right side, otherwise it is pasted as decimal separator.
If not all pasted content was filled into existing rows by
PasteFillRows, it will add it as next rows.
0 - never adds new rows,
1 - adds maximally one row,
2 - adds all required rows.
If not all pasted content was filled into existing columns by
PasteFillCols, it will add it as next columns.
0 - never adds new columns,
1 - adds maximally one columns,
2 - adds all required columns.
Default input format for dates for
FT&31 =
13 and
14 without
Format attribute set.
If and how the cell values are pasted from clipboard MIME "text/html" - clipboard format with values and styles.
Values can contain html code if
PasteStyles contains
Html.
0 - no html code, ignores the MIME "text/html" completely and reads only values from the MIME "text/plain",
1 - reads values, html styles and
Format attribute in
mso-number-format Excel CSS attribute or in
fg-format FastGrid CSS attribute,
2 - reads values and html styles,
3 - ignores values and html styles and reads only
Format attribute from
mso-number-format Excel CSS attribute and
fg-format FastGrid CSS attribute.
4 - ignores values, but still reads html styles,
5 - ignores values, but still reads html styles and
Format attribute from
mso-number-format Excel CSS attribute and
fg-format FastGrid CSS attribute.
If and how the cell styles are pasted from clipboard MIME "text/html" - clipboard format with values and styles:
Align - pastes cell
Align from CSS
text-align.
VertAlign - pastes cell
VertAlign from CSS
vertical-align.
Wrap - pastes cell
Wrap from CSS
white-space and special FastGrid attribute
fg-wrap.
Indent - pastes cell
Indent from CSS
padding-left or
padding-right or from special Excel
mso-char-indent-count or special FastGrid
fg-indent.
Rotate - pastes cell
Rotate from CSS
writing-mode and
transform or from special Excel
mso-rotate or special FastGrid
fg-rotate.
NoEdit - pastes cell edit permissions attributes
NoEdit and
FormulaNoEdit from special Excel
mso-protection.
Link - pastes cell
Link attribute from
a tag.
Border - pastes cell
RowBorder and
ColBorder attributes from CSS
border-... attributes and from CSS
border-style with specific Excel CSS border-style values of from
fg-rowborder and
fg-colborder FastGrid CSS attributes.
Color - pastes cell
Color attribute from CSS
background-color.
Pattern - pastes cell
Pattern from special Excel
mso-pattern or special FastGrid
fg-pattern.
TextColor - pastes cell
TextColor from CSS
color.
TextStyle - pastes cell
TextStyle from CSS
font-weight and
font-style.
TextLine - pastes cell
TextLine from CSS
text-decoration-... and special Excel attribute
text-underline-style.
TextSize - pastes cell
TextSize from CSS
font-size.
TextFont - pastes cell
TextFont from CSS
font-family.
Formula - pastes cell editable formulas from
fg-formula FastGrid attribute in
td tag.
The formulas cannot be copied to and from MS Excel, because it does not support this feature!
MoveFormula - if set, updates source cells in pasted formula also if point outside the pasted range.
Tip - pastes
Tip attribute from HTML
title attribute in
td tag.
The tips cannot be copied to and from MS Excel, because it does not support this feature!
Link - pastes
Link attribute from
html tag <a>.
Html - pastes cell html.
D - pastes <tr FastGrid
fg-d attribute to
added rows
D attribute and <col FastGrid
fg-d attribute to
added columns
D attribute.
id - pastes <tr FastGrid
fg-id attribute to
added rows
id attribute adn <col FastGrid
fg-id attribute to
added columns
id attribute.
L - pastes <tr FastGrid
fg-l attribute to
added rows
L attribut and <col FastGrid
fg-l attribute to
added columns
L attributee.
Collapsed - pastes <tr FastGrid
fg-collapsed attribute to
added rows
Collapsed attribute and <col FastGrid
fg-collapsed attribute to
added columns
Collapsed attribute.
If and how the row heights and column widths and their span and margins are pasted from html.
Height - pastes row heights.
ResizeHeight - increases row heights according to the pasted values, only if not set by pasted Height.
AutoHeight - recalculates row heights according to all their values, only if not set by pasted Height.
Width - pastes column widths.
ResizeWidth - increases column widths according to the pasted values, only if not set by pasted Width.
AutoWidth - recalculates column widths according to all their values, only if not set by pasted Width.
RowSpan - pastes row span.
ColSpan - pastes column span.
If set, used instead of
AutoRemove to get rows / columns to paste to when the part adds rows / columns automatically by
Auto.
Comma separated string or array of items shown in menu for toolbar cell Paste. Set it to "" to not show the menu and the popup icon. It can contain "-" item as separator. Case sensitive. It can contain these keywords:
Styles (changes
CopyStyles attribute):
Color (text and background color),
Align (horizontal align),
TextStyle (text style and font),
VertAlign (vertical align),
Border (cell border),
AllStyle (all these listed styles),
Edit (editing permissions),
Link (cell hyperlinks),
Formula (editable formulas, but ignored by MS Excel),
CellHtml (HTML code in cell value),
Comment (cell Tip attribute).
Rows and columns: (changes
CopyPasteRowsType and / or
CopyPasteColsType:
Collapsed (children of collapsed parents),
Hidden (manually hidden),
Filtered (hidden by filter),
AllHidden (all hidden by any reason),
Deleted (deleted, but not removed),
Children (also all children),
Parent (also all parents),
CollapsedRows,
HiddenRows,
FilteredRows,
AllHiddenRows,
DeletedRows,
ChildRows,
ParentRows (control only
CopyPasteRows),
CollapsedCols,
HiddenCols,
FilteredCols,
AllHiddenCols,
DeletedCols,
ChildCols,
ParentCols (control only
CopyPasteCols).
Sizes and span (changes
CopySizes attribute):
Height (row heights),
Width (column widths),
Size (row heights and column widths),
ResizeHeight (increase row heights if required),
ResizeWidth (increase column widths if required),
ResizeSize (increase row heights and column widths if required),
AutoHeight (recalculate row heights),
AutoWidth (recalculate column widths),
AutoSize (recalculate row heights and column widths),
RowSpan (cell row span),
ColSpan (cell column span),
Span (cell row and column span).
Other options:
Html (
PasteHtml attribute, chooses items from popup list),
Layout (changes
CopyPasteRows and
CopyPasteCols attributes, chooses items from popup submenu).
To hide disabled items in the menu set:
Dialogs:{ Paste:{ Script:{ HideDisabled:1 } } }.
To show the menu in two columns set:
Dialogs:{ Paste:{ Script:{ Columns:2 } } }.
0 - can be pasted to,
1 - cannot paste to, the pasted values are
discarded,
2 - cannot paste to, the row / column is
ignored and the pasted values are pasted to the next row / column. If pasted internally, this row / column is also not copied from.
!! Row, Col bits / object
FP
[0] GetAttr
Fast paste. Speeds up exporting to xlsx and html and copying to clipboard as html. It also controls some exporting behavior.
If set to
row, it can be set also as object with attributes as column
id or column
FID, e.g.
FE: { Col1:31, Col2:0, DefCol1:27 }.
&3 |
Error - what to set if the pasted value is not accepted:
0 - value is not set, original cell value is preserved,
1 - sets null,
2 - sets NaN,
3 - sets the first value from List otherwise empty string or 0.
|
&4 | If set, ignores ResultMask attribute. If set for List, it ignores ListRelated. |
&8 | If set, ignores EditMask attribute. |
&16 | If set, ignores NoChanges attribute. |
&32 | If set, ignores Value attribute for testing changes in cell. |
Actions
Paste
(int target = 0)
OnClickPaste
Pastes clipboard data to grid according to the actual paste settings.
Can be used only in code handling some click event directly without timeout.
Using it often requires a user to confirm a message about the clipboard access, usually only once.
API event bool
OnPaste
(Grid grid, string[] txt, Row[] sourcerows, Col[] sourcecols, object[] focus)
Called before paste to the grid.
txt is array of pasted text as
[text,html].
html can be null. The event handler can replace these two items.
sourcerows and
sourcecols are the rows and columns their values are copied instead of
txt when set
CopyPasteInternal. Their origin grid can be got by
GetGrid(). The event handler can modify them or fill them even if not set
CopyPasteInternal.
focus is actually focused row and column as
[row,col] that will be used for pasting to or before. The event handler can replace these two items to use another cell.
Return true to cancel the paste or if the event handler did the paste itself.
API event bool
OnPasteCells
(Grid grid, Row[] rows, Col[] cols, string[][] values, Row[] sourcerows, Col[] sourcecols)
Called during pasting, after collected destinations cells, but before any change.
rows and
cols are destination rows and columns that will be filled by pasted values. They can be empty or incomplete if will be added rows or columns by
PasteAddRows /
PasteAddCols.
The event handler can modify or add suitable items in these arrays.
values are source strings in 2d array (as [rowidx][colidx]) that will be filled into cells in
rows and
cols. It is empty if filled
rows and
cols. The event handler can modify these arrays, also add or delete their items, but preserve the 2d dimension.
sourcerows and
sourcecols are the rows and columns their values are copied instead of
values when set
CopyPasteInternal. Their origin grid can be got by
GetGrid(). The event handler can modify them or fill them even if not set
CopyPasteInternal.
Return true to cancel the paste or if the event handler did the paste itself.
API event bool
OnPasteAdded
(Grid grid, Row[] rows, Col[] cols, string[][] values, Row[] sourcerows, Col[] sourcecols, Row[] addedrows, Col[] addedcols)
Called during pasting, after added rows and columns according to
PasteAddRows /
PasteAddCols.
The
rows,
cols,
values,
sourcegrid,
sourcerows and
sourcecols are the same and can be modified the same as in
OnPasteCells.
The
addedrows and
addedcols are newly added rows and columns to the destination grid. They are null, if no rows or columns were added. These arrays must not be modified, but it is possible to modify these rows and columns themselves by API, e.g.
SetValue.
Return true to cancel the paste or if the event handler did the paste itself. If returned true, the added rows and columns will remain in the grid. In this case it is possible to remove them by
Delete API method with parameter del = 2.
API event void
OnPasted
(Grid grid, Row[] rows, Col[] cols, string[][] values, Row[] sourcerows, Col[] sourcecols, Row[] addedrows, Col[] addedcols)
Called after pasting is done in the grid, but before
Paint.
All parameters are the same as in
OnPasteAdded /
OnPasteCells, but modifying the parameters has no effect.