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

FastGrid documentation

FastGrid documentation glossary

Here is full online documentation for FastGrid.
Choose desired document in left side tree or find it in documentation search.
In this documentation glossary is described how to use the documentation.

Documentation items

!?version object type

JSON / API attribute

[default value] / [sheet default value]   specialty getter setter
JSON attribute definition. It is available also for JavaScript API read and write.
!? Using the item can slow down the grid. It is usually more explained in the item description.
"?" - slightly slows down on some conditions, "??" - remarkably slows down on some conditions, "!" - slightly slows down, "!!" - remarkably slows down.
versionFastGrid version(s) where the attribute was changed. See the versions.
objectA list JSON objects where the attribute can be used. See all possible objects.
typeInformational attribute type according to the attribute meaning. See all possible types.
The JSON and API should always use number for "bool", "int" and "number" type and string for "string", string[] and strings[id] types.
Especially setting string "0" into "bool" or "int" type can cause incorrect behavior!
default valueInitial attribute value. The default values are preset usually in Defaults.js, but some of them are also set directly in FastGrid code.
If the default value is not defined, the item has initially null or 0 or empty string according to its type.
If Sheet.js defines different default value, it is listed as the second [...].
specialtyInformation that the attribute is saved to and loaded from cookies (therefore can be ignored in JSON data) and information how to avoid it.
Or information that the attribute is uploaded to server.
Or information that the attribute can be undone (supports Undo), when set <Cfg Undo='1'/>.
getterJavaScript Grid method used to read the attribute value for API. The most attributes can be read also by universal Get method.
setterJavaScript Grid method used to write the attribute value for API. The most attributes can be written also by universal Set method.
version object type

JSON / API RO attribute

[default value]   specialty getter
JSON attribute definition. It is available also for JavaScript API, but as read only.
version object type

JSON attribute

[default value]   specialty
JSON attribute definition. It is not available for JavaScript API.
version Grid variable type

API RO variable

JavaScript API variable for read only. It is variable defined in every Grid object.
version Grid method type

API method

(parameters)
JavaScript API method. It is method defined in every Grid object.
versionFastGrid version(s) where the attribute was changed. See the versions.
objectAPI method always belongs to Grid object.
typeInformational type the function returns, according to the item meaning. The real JavaScript type can be different. See all possible types.
parametersParameters of the JavaScript function. Note, the parameter types and names are just informational, the only exact thing is the parameters order.
version API event type

API event

(parameters)
JavaScript API event. It is callback function defined in JavaScript as method of global FGrid object or added by API method AddEvent or defined in JSON data in Events tag. It is called from FastGrid code.
versionFastGrid version(s) where the attribute was changed. See the versions.
typeInformational type the function is expected to return, according to the item meaning. The real JavaScript type can be different. See all possible types.
parametersParameters that are passed to the function call. Note, the parameter types and names are just informational, the only exact thing is the parameters order.
version Actions

Action

attached to
JavaScript action, JavaScript code in string. It can be attached to any JSON mouse or key event, usually in Actions object.
Many actions are attached by default to some event in Actions object in Defaults.js, e.g. Actions: { OnClickButtonSave: "Validate() && Save()" }
The action can be called also from JavaScript as API method of Grid object, named with Action prefix, e.g. FGrid.Grids[0].ActionSave ( ); for action named Save.
versionFastGrid version(s) where the attribute was changed. See the versions.
attached toInformation where the action is attached by default (in Defaults.js) and restrictions to which events can be attached.
version object bool

JSON event

(parameters) getter setter
JSON mouse, key or special event.
The JSON event handler code you write directly to the JSON data in string (opposite to JavaScript API event written in JavaScript code).
In documentation there are listed events special for described features, like OnChange
And standard JSON mouse and key events are described in Mouse events and Key events.
versionFastGrid version(s) where the attribute was changed. See the versions.
objectA list JSON objects where the attribute can be used. See all possible objects.
parametersThe JSON mouse or key event has always these parameters: (Grid Grid, Row Row, Col Col, Event Event)
where Row, Col is cell under mouse for mouse event or focused cell for key event.
The Grid, Row, Col and Event variables can be used in the event handler code as JavaScript objects;
e.g. Actions: { OnClickCell: "alert('clicked cell '+Row.id+','+Col.id)" }
getterJavaScript Grid method used to read the attribute value for API. The most attributes can be read also by universal Get method.
setterJavaScript Grid method used to write the attribute value for API. The most attributes can be written also by universal Set method.
version formula type

formula

(parameters)
Formula function that can be used in F, Formula and E attribute code, e.g. { F: { A: "sum()" } }.
versionFastGrid version(s) where the attribute was changed. See the versions.
parametersAre shown as for JavaScript function. Note, the parameters types and names are just informational, the only exact thing is the parameters order.
version ... ...

Deleted item

...
Any of the above listed items that is deleted and should be no longer used.
The most of deleted items are still present and usable in FastGrid, they are only deprecated.

Version

Last update done to the item

new 10.0Item was released in the given version (the item did not exist in previous versions).
chg 10.0Major update to item was done in the given version (the usage of the item was changed).
upd 10.0Minor update to item was done in the given version (like new parameter added to function or new value added to bit array or flags).
renamed 10.0The item has been renamed in the given version (the old name is usually still usable, but deprecated).
deleted 10.0The item has been removed since the given version (the item name is usually still usable, but deprecated).

Object

Where the item can be used

There can be listed more places like Cfg, Row, Col - item is an attribute of Cfg or row or column.

HTML
HTMLThe only FastGrid HTML attribute is <fast-grid>FastGrid definition in HTML
<fast-grid>Attribute in <fast-grid> tag on HTML pagedefines FastGrid data sources and communication with server
 
JSON data, mostly accessible also by JavaScript API
GridAttribute in root JSON objectall base JSON objects
CfgAttribute in Cfg objectbasic grid configuration
CellAttribute in Row A[] item, DefCell, Row, DefRow, Col or DefCol objectattributes of row cells
RowAttribute in Row or DefRow objectattributes of rows
ColAttribute in Col or DefCol objectattributes of columns
ToolAttribute in Toolbar Cells[] item, DefTool, Toolbar and DefToolbar objectattributes of toolbar cells
ToolbarAttribute in Toolbar or DefToolbar objectattributes of toolbars
ImageAttribute in Image or DefImage objectattributes of floating images
DefCellAttribute in DefCell objectattributes of default row cells
DefRowAttribute in DefRow objectattributes of default rows
DefColAttribute in DefCol objectattributes of default columns
DefToolAttribute in DefTool objectattributes of default toolbar cells
DefToolbarAttribute in DefToolbar objectattributes of default toolbars
DefImageAttribute in DefImage objectattributes of default floating images
RowPartAttribute in row Part object or in RowPartsattributes of the whole row part
ColPartAttribute in column Part object or in ColPartsattributes of the whole column part
PartAttribute in row or column Part object or in RowParts / ColPartsattributes of the whole row part and column part
 
JSON data, mostly inaccessible by JavaScript API
DialogAttribute in Dialog objectattributes of the predefined dialogs
CellBorderAttribute in CellBorder objectattributes of the predefined cell borders for use in cells
FontAttribute in Font objectattributes of the FastGrid font definition
FormatAttribute in Format objectattributes of the language dependent number and date formats
LanguageAttribute in Language objectattributes of the language settings
CookieAttribute in Cookie objectattributes for saving configuration
IOAttribute in temporary IO objectattributes for server communication
SourceAttribute in Source objectattributes of one data source for server communication
SourcesAttribute in Sources objectattributes of all data sources for server communication
MessageAttribute in Message objectattributes of the predefined messages
MessageStyleAttribute in MessageStyle objectattributes of the individual parts of the predefined messages
StyleAttribute in Style objectattributes of one style definition
 
Custom JSON items used for menu and calendar
ScriptCustom attribute in Script objectattributes of menu or calendar
Script methodCustom API method in Script objectAPI methods of menu or calendar
ItemCustom attribute in Item / Items objectattributes of menu item
PlaceCustom attribute in Place objectattributes of menu or calendar setting its position
 
JavaScript API
global variableThe only FastGrid global variable is FGrid object. All other FastGrid items are accessible by FGrid.
FGrid functionJavaScript static function set in FGrid objectHelper static functions without access to Grid object.
FGrid variableJavaScript static variable set in FGrid objectGlobal variables affecting all grids.
API eventJavaScript method of FGrid object called as callback for defined event.API event handlers can be defined in three ways.
Grid methodJavaScript method of Grid objectThe most FastGrid API methods are here
Grid variableJavaScript object variable of Grid objectA few variables are accessibles directly from the Grid object.
F functionJavaScript function that can be used only in JavaScript formulaThe functions are used as global functions
formulaJavaScript function that can be used only in Editable formulaThe functions are used as global functions
ActionsJavaScript method of Grid objectUsed usually in JSON event handlers.
In JavaScript API it can be used with Action prefix.
 
Other
fileFastGrid source fileAccessible only with FastGrid sources.

Type

Standard (like TypeScript) item type, not JavaScript type

The type is not JavaScript variable type, but it is similar to standard type in languages like TypeScript, C#, Java or C++.
The type is shown only in documentation, it is used nowhere in JSON or JavaScript. The sense of the type in JSON is to more precisely define what is expected to get in the item, it has not any other special meaning.
voidAPI method does not return value or API event does not expect return value
anyAny type, the type can be different per value.
boolBoolean value 0 or 1 (or false or true). Never set it to string, "0" is true!
Basically it can be any expression that can be converted to true or false
intInteger value. It should be JavaScript number like 345, never string like "345"
bitsInteger value as bit array – every bit in the number has its own meaning and the value is sum of the bits, similarly to flags.
(1.bit = 1, 2. bit = 2, 3.bit = 4, 4.bit = 8, 5.bit = 16, 6.bit = 32, 7.bit = 64, 8.bit = 128, 9.bit = 256, ...)
Examples of bit array: to set first, third and sixth bit set 1+4+32 = 37, to set second, third, fifth and tenth bit set 2+4+16+512 = 534
flagsString with comma separated keywords. Every keyword in the string has its own meaning, similarly to bits. It is case insensitive.
If the first keyword is asterisk "*", it adds all possible keywords, if the keyword starts by minus "-", it is removed instead of added (use when the first keyword is asterisk "*").
numberFloating point number value. It should be JavaScript number like 3.45, never string like "3.45"
stringString value. It should be JavaScript string, not number or boolean
string[]Array of strings like ["One","Two","Tree"], in JSON it can be also one string with comma separated values: "One,Two,Three".
string[*]Array of strings like ["One","Two","Tree"], in JSON it can be also one string with values separated by the first character: "|One|Two|Three". The separator can be any Unicode character not included in any of the separated items.
string[id]Object with attributes as ids with string values.
string[][id]Object with attributes as ids with value of array of strings or comma separated string, e.g. {id1:["a","b","c"],XX:"x,y,z"}
charOne character length string value. It should be JavaScript string, not number or boolean
rangeString with specific format for cell range like "A1:C3"
objectAny JSON / JavaScript object.
functionJavaScript function passed as callback.
HTMLElementDOM element object.
HTMLEventDOM Event object.
RowRow object (not string id). It can be often also Toolbar object.
ColColumn object (not string id). It can be often also Toolbar cell object.
GridGrid object, all API events get it as the first parameter. It can be also got by its id or index from FGrid.Grids array
TypeOther specific FastGrid object, taken as standard JavaScript object.
type[], type[][], type[][][]One, two or three dimensional array of given type.
type[id]Object with attributes as ids with values of given type.