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

Language

FastGrid documentation

Translation

Default Translate value for all internal text translations, menus, messages and tips is 3.
Cell bits

Translate

[0/5] GetAttr SetAttr
If and how the cell content is translated using grid Text:
&1The whole cell text will be replaced if exists in Text.
&2Replaces all words starting by $ and containing only latin letters (a-z,A-Z), digits (0-9) and underscore (_), if they exist in the Text.
It searches and replaces the word including the starting "$".
If the word is not found in the Text, it is not changed and the "$" is not removed.
For example in text "$A1!B1$C1 D1$11" there will be translated words "$A1", "$C1" and "$11", if they exist in Text.
The replacing is recursive, if the text in Text contains words starting by "$", they are replaced too.
&4The text parts separated by ValueSeparator will be translated separately according to bits &1 and &2
&8The texts between odd and even TranslateSeparator or between odd TranslateSeparator and end of text will be replaced if exists in Text.
For example in text "A#B#C#D#E#F" will be checked and translated the texts "B", "D" and "F".
If the text part is not found in the Text, it is taken as is, but the two surrounding TranslateSeparator are removed.
To place ValueSeparator as part of the text double it, for example in "A#B#C#D##E#F" will be translated "B" and "D#E".
The text is translated after calculating and formatting just before display.
Default value is 1 for Type="String", Type="Button", Type="Auto" containing text, Type="Bool" with Text attribute and toolbar Label / LabelRight. Default value 0 is for all other cases.
Translated cell should not be directly editable, because the edited texts are not translated back.
The translated cells can be changed via popup dialog like List or SuggestExisting.
Message bits

Translate

[5]
If and how the Message Text, Header and Button.Text will be translated by grid Text.
Can use the same values as cell Translate.
Grid object

Text

[...]
FastGrid root tag with all FastGrid texts to display or translate. The texts are used in cell values, menu items, messages, etc.
The texts are defined as attributes "text_to_translate" : "translated_text". Both texts can contain any characters.
The text_to_translate can be a keyword starting by $ referred by texts in cells, menus or messages.
The $ is required only for use with Translate&2, but by conventions it is used for all static translated texts to be easily recognized in the values.

If the text contains word starting by $ that exists in the Text, it is replaced by its text, recursively. Only if set Translate&2.
For example: $T1:'Text1', $T2:'$T1 and' => translate of '$T2 $T1' will be 'Text1 and Text1'.
The text can contain JavaScript code in brackets { } that returns string that is included in the translate result in place of this code. This code can read specific attributes used for translation the particular text, see the Texts.js.
The $xxx are replaces also inside { }, but the replaced result must not contain brackets { or }.

All the predefined FastGrid English texts are in file Texts.js.
Format char

TranslateSeparator

["#"]
Separates the text parts for translate by Translate&4.
Grid method string

Translate

(string text, bits type = 0, string separator = null, object param = null)
Translates and returns given text according to the type, it has same features as Translate attribute.
separator is used as separator for range translating by type&2, it can be also 1 to use ValueSeparator or 2 to use ValueSeparatorDisplay.
If set param object (even empty), the translation calculates and replaces all codes in { } in text and uses here the param parameters as variables.

Languages

Cfg string

Language

["EN"] GetCfgAttr SetLanguage
Chosen grid language. It mostly affects the FastGrid texts and number and date formats.
Grid Language[id]

Languages

List of available languages by their id.
FastGrid has defined its default language texts and regional settings directly in its data as for English US, in the other tags like Text or Format in Texts.js.
The languages in Languages tag modify the default language. First is applied the Texts.js, next the Base language in Languages, next all the languages in Languages listed in the chosen language D attribute and finally is applied the chosen language itself.
Every the Language tag can contain all subtags like Grid tag, but mostly it contains only the language tags used in Texts.js like Text and Format.
The other languages are define in separate files as Text_{Code}.js, where {Code} is the language code like "DE" or "ES".

If application permits changing languages and defines some default language attributes outside the Texts.js, these attributes should be defined in Languages, Base language to be reset on language change.
For example { Languages: { Base: { Format: { DecimalSeparator:"," } } } instead of { Format: { DecimalSeparator:"," } }.
Language string

D

The language name that is loaded with and before the chosen language. It can be also comma separated list of language names. If the language in D has also its D attribute, these languages are loaded too and first.
It need not contain the Base style, it is loaded always.
Grid method bool

SetLanguage

(string language)
Sets given language to the grid Language.
Returns true if the language has been changed, false if it was the same.
If the language does not exist, it is still set and grid loads Base language.
API event void

OnSetLanguage

(Grid grid, string language, string oldlanguage, bool init)
Called after the language has been changed from oldlanguage to language.
init is set when called on grid loading to set actual language.