News in versions: FastGrid 1.0, TreeGrid 17.0
FastGrid FastSheet ExamplesSamples DocumentationDoc Download Licensing Prices Buy Development
services
References References Contacts
TreeGrid Gantt chart SpreadSheet ExamplesSamples DocumentationDoc Download Licensing Prices Buy Contacts
FastGrid documentation
Search in documentation
FastGrid versions compatibility

Changes log (txt file) Compare FastGrid 1.0 & TreeGrid 17.1

Using in JavaScript frameworks

Angular Ember Express React Svelte Vue Other frameworks NodeJS server SalesForce LWC

Data and creating FastGrid

Simple examples of creating FastGrid Create FastGrid Display grid Access grid by API Sheets, more grids switched in one place Layout and configuration Data rows, columns, toolbars, images Changes in data rows, columns, toolbars Saving changes to server Mark changes Loading children on expand parent Short format

Layout - grid parts

Parts - ColParts and RowParts Part size Part scroll position Sets Column sets Row sets

Toolbars

Toolbar Cells Icon Height Width Toolbar position Dragging and manipulating cells Special toolbars

Rows and columns
Default rows, columns, cells, toolbars
Row and column identity

Row / column id Row / column index Row / column name

Row and column manipulation

API to get grid objects Auto added columns & rows on scroll Blocks of rows / columns Adding / copying / moving Deleting Showing and hiding Layout menu Selecting rows and columns Fill cell values by dragging Locking grid against changes Undo & redo

Row and column tree

Row and column tree Row tree Column tree Expand & collapse

Cells
Cell values and attributes

Read and write any values by API Cell value Cell attributes Cell value & attributes in UTF8 Store

Editing cells

Editing During editing Validation and errors

Cell images

Row cell side icons Icons definition Mark icons and charts Mark icons list Row cell floating images

Cell size

Row height Column width Resizing rows and columns Padding Margin Cell span

Cell style

Grid style and look Cell style permissions Cell style Cell outer border Cell inner border Alternate row & column background

Other cell features

Cell hyperlink Cell tooltip Static cells Other cell attributes Row & column attributes to speed up

Cell types and formats
Cell type and format Range - more values / ranges in cell String type Html type Auto type
Bool type

Bool type Check side icon Bool type & Check side icon

Number type

Format Localization

Date type

Format Localization Calendar

Calculations - formulas
JavaScript formulas

JavaScript formulas Aggregate functions String aggregate functions Other functions

Editable formulas

Formula rules Formula attributes Defined names for editable formulas Conditional functions Lookup functions Cell reference functions Logical functions Informational functions Mathematical functions Trigonometry functions Rounding numbers Number conversions String functions Date functions Summary functions

Dialogs and menus

Dialog Dialog Place Dialog API Menu definition in Script Cell menu List Suggest

Features
Sorting rows / columns

Sorting Sorting settings Comparing strings

Grouping rows / columns

Grouping Grouping settings Comparing strings Pivot grid

Filtering rows and columns

Filtering Filter settings Comparing strings

Search in cells Import files to grid
Export files

Export files Export and copy to clipboard CSV data

Copy & paste via system clipboard

Copy & paste Copy to clipboard Paste from clipboard

Printing

Print Print to PDF

Global grid settings
Grid size & scroll

Grid size Grid scrollbars Paging and view Media rules - responsive design

Saving settings in storage or cookies
Focus and hover cells

Focus cell and cell ranges Mouse hover cells Highlight cells, rows and columns

Events

Mouse events Key events API events

Language

Translation Languages

Messages

Message Message style

Other API

API for iterating rows and columns Paint and repaint Various API methods

Debug & files

Debugging FastGrid files

UTF8 Store - fast & short data
Introduction - License & download

Basic description Main advantages Basic usage License Download Documentation

Script language implementations

JavaScript C# JAVA PHP

Suggested ucodes

Bits - small integers or enums Integers or enums with strings Date and time Floating point numbers Special strings

Basic ucodes

Integer 1 char String 1 char Date 1 char Bits 1 char Integer 2 chars String 2 chars Date 2 chars Float 2 chars Integer 3 chars String 3 chars Date 3 chars Integer and double float 5 chars String 5 chars Date 5 chars Fixed length string Separated strings Adjacent strings Prefix for escaping string Fixed length data Unused custom codes Prefix for stored separator or length Prefix for stored base number Unused basic ucodes

Complex ucodes

chars signed decimals multiple limits varstrings escape base chars2 signed2 decimals2 multiple2 limits2

Internal coding Profiling times for ucode options Function reference

Copy & paste via system clipboard

FastGrid documentation

Cfg int

CopyPasteInternal

[0] GetCfgAttr SetCfgAttr
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.
Cfg string[]

CopyPasteRows

[""] GetCfgAttr SetCfgAttr
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.
Cfg string[]

CopyPasteCols

[""] GetCfgAttr SetCfgAttr
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.
Cfg flags

CopyPasteRowsType

[""] / ["Collapsed,Hidden"] GetCfgAttr SetCfgAttr
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.
Cfg flags

CopyPasteColsType

[""] / ["Collapsed,Hidden"] GetCfgAttr SetCfgAttr
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.
Cfg bits

CopyPasteFGAttrs

[2] GetCfgAttr SetCfgAttr
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.

Cfg int

Copying

[4] GetCfgAttr SetCfgAttr
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.
Cfg string / int

CopyColSet

GetCfgAttr SetCfgAttr
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.
Cfg int

CopyText

[2] GetCfgAttr SetCfgAttr
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.
Cfg int

CopyHtml

[0] / [1] GetCfgAttr SetCfgAttr
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.
! Cfg flags

CopyStyles

["*"] / ["*,-Calculated,-State,-Bool"] GetCfgAttr SetCfgAttr
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.
! Cfg flags

CopySizes

[""] GetCfgAttr SetCfgAttr
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.
Cfg int

MaxCopyTime

[2000] GetCfgAttr SetCfgAttr
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.
Cfg int

MaxCopyHtml

[10000000 / 100000] GetCfgAttr SetCfgAttr
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.
Cfg int

MaxCopySpan

[10000] GetCfgAttr SetCfgAttr
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.
Cfg string[]

CopyMenu

[...] / [...] GetCfgAttr SetCfgAttr
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 } } } } .
Part int

CopyAutoIgnore

GetPartAttr SetCfgAttr
If set, used instead of AutoRemove to get rows / columns for copy when the part adds rows / columns automatically by Auto.
Row, Col int

NoCopy

[0/2] GetAttr SetAttr
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

Cfg bool

Pasting

[1] GetCfgAttr SetCfgAttr
If pasting cells/rows/columns from clipboard to grid is permitted.
Cfg bool

PasteSelectedRows

[0] GetCfgAttr SetCfgAttr
If set and there are some selected rows, pastes only to the selected rows.
Cfg bool

PasteSelectedCols

[0] GetCfgAttr SetCfgAttr
If set and there are some selected columns, pastes only to the selected columns.
Cfg int

PasteFillRows

[2] GetCfgAttr SetCfgAttr
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.
Cfg int

PasteFillCols

[2] GetCfgAttr SetCfgAttr
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.
Cfg bool

PasteFocus

[1] GetCfgAttr SetCfgAttr
If set, focuses pasted range, if permitted focusing range by Focus >= 2.
Cfg int

PasteFillSingle

[2] GetCfgAttr SetCfgAttr
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.
Cfg int

PasteGroupSeparator

[2] GetCfgAttr SetCfgAttr
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.
Cfg int

PasteAddRows

[0] GetCfgAttr SetCfgAttr
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.
Cfg int

PasteAddCols

[0] GetCfgAttr SetCfgAttr
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.
Cfg string

PasteDateFormat

GetCfgAttr SetCfgAttr
Default input format for dates for FT&31 = 13 and 14 without Format attribute set.
Cfg int

PasteHtml

[0] / [1] GetCfgAttr SetCfgAttr
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.
! Cfg flags

PasteStyles

["*"] / ["*,-MoveFormula"] GetCfgAttr SetCfgAttr
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.
! Cfg flags

PasteSizes

[""] / ["RowSpan,ColSpan"] GetCfgAttr SetCfgAttr
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.
Part int

PasteAutoIgnore

GetPartAttr SetCfgAttr
If set, used instead of AutoRemove to get rows / columns to paste to when the part adds rows / columns automatically by Auto.
Cfg string[]

PasteMenu

[...] / [...] GetCfgAttr SetCfgAttr
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 } } }.
Row, Col int

NoPaste

[0/1] GetAttr SetAttr
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.
&4If set, ignores ResultMask attribute. If set for List, it ignores ListRelated.
&8If set, ignores EditMask attribute.
&16If set, ignores NoChanges attribute.
&32If 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.