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

Internal coding in UTF8 Store

UTF8 Store documentation; version 1.0

This is internal information not required for normal use!
Describes how the values are converted to strings, to which characters.
The generated strings contain only safe Unicode JavaScript string characters (also without double quotes and backslash): u20 - u21, u23 - u5B, u5D - u84, u86 - u9F, uA1 - u2027, u202A - uD7FF, uE000 - uFDCF, uFDF0 - uFFEF, uFFF9 - uFFFD.

Description1 char2 chars3 chars5 charsNotes
Codes null as"!""!!""!!!""!!!!!"
Codes NaN as" " / "  ""! ""!  ""!    "1 char codes NaN as "  " on var string ucode&0x80
Codes "" as "#" / "#!""!#""!! ""!!#  "1 char codes "" as "#!" on ucode2 var string ucode&0x80 and &0x7FC000; 5 chars codes Infinity: "!!$  ", -Infinity: "!!%  "
Codes 0 as"$""$#""###""#####"
Char(s) prefix---" "" "" "
String prefix------"!""!"
Var string prefix" "" "" "" "
UCode2 var string prefix"#""#""!"---

Fixed length string 1 char (ucode == 0x41) codes null as "\u0381", NaN as "\u0380" and "" as "\x7F".
Fixed length string 2+ chars (ucode = 0x42 ~ 0x80) codes null as "\x7F!" plus spaces, NaN as "\x7F\x7F" plus spaces and "" as "\x7F " plus spaces.
Separated and adjacent strings (ucode = 0xC8 ~ 0xDF, 0xE8 ~ 0xFF) codes null as "!!" and rest spaces, NaN as "! " and rest spaces and "" as spaces.
Separated and adjacent strings var length (ucode = 0xC0 ~ 0xC3, 0xE0 ~ 0xE3) codes null as "!!", NaN as "! " and "" as one space " ". End of value is marked by one space " ". One char length >= 63415 is saved as two chars length prefixed by "!".

First 92 chars (35-91, 93-127) in UTF8 are coded in 1 byte (1 char ucode has only 91 chars, 36-91, 93-127).
Next 1918 chars (128-132, 134-159, 161-2047) in UTF8 are coded in 2 bytes.
Next 61395 chars (2048-8231, 8234-55295, 57344-64975, 65008-65519, 65529-65533) in UTF8 are coded in 3 bytes.
Maximum numbers per Unicode char is 63405 (63404 for 1 char ucode, but reduced to 63401).

Positive 1 char codes positive numbers from start to their limit, next codes negative numbers in 3 bytes to their limit and next codes strings till end of range in 3 bytes.
Integer 1 char codes numbers from start to their limit (positive*2 and -negative*2+1), next codes strings till end of range in 3 bytes.
Date 1 char codes dates from start to their limit, next codes ucode2 dates till half of the limit in 3 bytes and next codes strings till end of range in 3 bytes.

2 chars codes numbers by characters 36-91, 93-116, 435-8231, 8234-55295, 57344-64975, 65008-65519, 65529-65533 in the first char (63088 x 63404 = 4e9, the last char in the second char is a reserve).
2 chars codes strings by characters 117-124, 285-434 in the first char (158 x 63404 = 1e9, the last char in the second char is a reserve). Character 35 in the first char is num2 var string prefix.
Positive 2 chars codes negative numbers by characters 125-127, 128-132, 134-159, 161-284 in the first char (158 x 63404 = 1e9, the last char in the second char is a reserve). Integer 2 char codes in this range next 10M strings.
Date 2 chars codes the dates the same as integer numbers and ucode2 dates and strings are coded the same as strings (date*2 and string*2+1).

3 chars codes numbers and dates in the whole range of all 3 chars (63400 chars).
3 chars codes strings with character 32 in the first char and characters 35-91, 93-132, 134-159, 161-2047 in the next two chars. Optionally used 2048+ characters in the third char for 4M+ strings.

5 chars codes double float in characters 35-50 in the first char and in full range of the next 4 chars, size is mostly 13 bytes.
5 chars codes integers in characters 51-91, 93-132, 134-159, 161-2047 and characters 35-91, 93-132, 134-159, 161-2047 in the next 4 chars, size varies in 5 - 10 bytes.
5 chars codes strings with character 32 in the first char and 35-91, 93-127 in the next 4 characters, size is 5 bytes.