Changes log (txt file) Compare FastGrid 1.0 & TreeGrid 17.1
Angular Ember Express React Svelte Vue Other frameworks NodeJS server SalesForce LWC
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
Parts - ColParts and RowParts Part size Part scroll position Sets Column sets Row sets
Toolbar Cells Icon Height Width Toolbar position Dragging and manipulating cells Special toolbars
Row / column id Row / column index Row / column name
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 tree Column tree Expand & collapse
Read and write any values by API Cell value Cell attributes Cell value & attributes in UTF8 Store
Editing During editing Validation and errors
Row cell side icons Icons definition Mark icons and charts Mark icons list Row cell floating images
Row height Column width Resizing rows and columns Padding Margin Cell span
Grid style and look Cell style permissions Cell style Cell outer border Cell inner border Alternate row & column background
Cell hyperlink Cell tooltip Static cells Other cell attributes Row & column attributes to speed up
Bool type Check side icon Bool type & Check side icon
JavaScript formulas Aggregate functions String aggregate functions Other functions
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
Dialog Dialog Place Dialog API Menu definition in Script Cell menu List Suggest
Sorting Sorting settings Comparing strings
Grouping Grouping settings Comparing strings Pivot grid
Filtering Filter settings Comparing strings
Search in cells Import files to gridExport files Export and copy to clipboard CSV data
Copy & paste Copy to clipboard Paste from clipboard
Grid size Grid scrollbars Paging and view Media rules - responsive design
Saving settings in storage or cookiesFocus cell and cell ranges Mouse hover cells Highlight cells, rows and columns
Mouse events Key events API events
API for iterating rows and columns Paint and repaint Various API methods
Basic description Main advantages Basic usage License Download Documentation
Bits - small integers or enums Integers or enums with strings Date and time Floating point numbers Special strings
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
chars signed decimals multiple limits varstrings escape base chars2 signed2 decimals2 multiple2 limits2
Internal coding Profiling times for ucode options Function referenceUTF8 Store documentation; version 1.0
The complex ucode has always set some bit of 0x1C00 => (ucode & 0x1C00) != 0.Get | Get | ucode hexadecimal values | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chars | 1, 2, 3, 5 | 0x00, 0x10, 0x20, 0x30 | Number of characters every value occupies, can be 1, 2, 3, 5. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signed | 0, 1 | 0x00, 0x40 |
0 (0) - positive values are coded smaller. For 1+2 chars the negative range is much smaller than positive. 1 (64) - positive and negative values are coded in the same size and ranges. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
decimals | 0 ... 15 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F |
Sets number of decimal places the number can have, e.g. value 2 means 0.00, value 4 means 0.0000. The number is multiplied by decimals value in the below table before it is stored and divided back when it is read.
Values 10, 11, 12 in 1+2 chars are for JavaScript times as integer count of milliseconds, values 13, 14, 15 are for MS Excel times as decimal count of days. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
multiple | 1, 10, 100 for 1 char 1, 10, 100, 1000, 10000, 100000 for 2+3+5 chars | 0x400, 0x800, 0xC00 for 1 char 0x400, 0x800, 0xC00, 0x1000, 0x1400, 0x1800 for 2+3+5 chars |
Which numbers will be coded smaller, e.g. 100 means that numbers 0, 100, 200, 300, .... will be coded smaller than 1,2,...,101,102,... It is affected by decimals, e.g. if set decimals = 2, multiple = 100, the 1.00, 2.00, 3.00 will be coded smaller. Value 0 is reserved to mark the basic ucode. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
limits | 0 ... 15 for 1 char 0 ... 3 for 2+3+5 chars | 0x0000, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000 0x8000, 0x9000, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000 for 1 char 0x0000, 0x2000, 0x4000, 0x6000 for 2+3+5 chars |
Specifies number range (maximal and minimal number) and precision (number of significant digits).
If value in chars 5 extends its limits, it is coded as double in range <-1e308,1e308>, with 15 digits precision and minimal value 1e-322. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
varstrings | 0, 1 | 0x00, 0x80 |
0 (0) - Stores all strings in texts or utexts. The size (chars) of the value is always the same. 1 (128) - Stores everything directly to output string. The size (chars) of the value varies. Cannot be used in FastGrid U / B! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
escape | 0, 1, 2, 3 | 0x000, 0x100, 0x200, 0x300 | If and how escapes problematic characters in strings: 1 (4096) - Prefixes characters \t, \r, \n, \", \\ by \\ in all stored strings. 2 (8192) - Works like 1 plus replaces 007F character by "\\x7F" in all stored strings (except varstrings stored directly). 3 (12288) - Works like 2 plus replaces all 0000 - 001F, 0085, 00A0 characters by "\\xXX" in all stored strings. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
base | null, integer <1, 2 digits integer +/- 1e150 2 digits floating +/- 1e-13 | 0x00000000, 0x00010000 ~ 0xFFFF0000 |
If set, the base is subtracted from the number before it is stored and added back when returned the number from store. It cannot be set with signed2. The stored base is integer number in range <1,32767> or rounded to two singnificant digits and forced in integer range (-1e150,1e150) and minimal decimal 1e-13. If set decimals to divide or time (only options 5-15 for chars = 1 or 9-15 for chars = 2), the base is divided by the decimals before storing to ucode. The base can be used to shorten the stored numbers if they oscillate around some base number to save only the difference. It is often used for dates. Using base outside range <1,32767> or with floating point will produce negative ucode as 32bit integer. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chars2 | null, 1, 2, 3, 5 | 0x000000, 0x008000, 0x108000, 0x208000, 0x308000 | Number of characters every value occupies for the second ucode option, can be 1, 2, 3, 5. If set to null, the second ucode is not used. It cannot be set with base. The second ucode is used when the number cannot be stored in the first ucode option due its limits. In the second ucode the escape is used from the first ucode and varstrings is always 0. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
signed2 | 0, 1 | 0x000000, 0x400000 | The sign for the second ucode option. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
decimals2 | 0 ... 15 | 0x00000, 0x10000, 0x20000, 0x30000, 0x40000, 0x50000, 0x60000, 0x70000, 0x80000, 0x90000, 0xA0000, 0xB0000, 0xC0000, 0xD0000, 0xE0000, 0xF0000 | The decimals for the second ucode option. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
multiple2 | 0, 1, 10, 100, 1000, 10000, 100000 | 0x0000000, 0x0800000, 0x1000000, 0x1800000, 0x2000000, 0x2800000, 0x3000000, 0x3800000 | The multiple for the second ucode option. Value 0 is taken as 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
limits2 | 0 ... 3 | 0x0000000, 0x4000000, 0x8000000, 0xC000000 | The limits for the second ucode option. |