Movatterモバイル変換


[0]ホーム

URL:


MethodsDataOptionsEventsLifecycle
turbogrid
                            // global                            var TG = window.turbogrid;                            var { Grid, Util } = window.turbogrid;                            // cjs                            var TG = require("turbogrid");                            var { Grid, Util } = require("turbogrid");                            // esm                            import TG from "turbogrid";                            import { Grid, Util } from "turbogrid";
Grid(container)
Grid constructor, creates a new grid instance with container.
                            //selector                            var grid = new Grid(".container");                            //or element                            var container = document.querySelector(".container");                            var grid = new Grid(container);                            //or options with container                            var grid = Grid({                                container,                                ... other options                            });
Methods
setData(data)
For Detailed data structure, checkdata structure
                            grid.setData({                                columns: [],                                rows: []                            });
getData()
Returns current data.
                            var data = grid.getData();
setOption(options)
For Detailed options, checkdefault options
                            //set multiple options                            grid.setOption({                                optionKey1: optionValue1,                                optionKey2: optionValue2                            });                            //set single option                            grid.setOption(optionKey, optionValue);
getOption([name])
Returns current options by name or all options.
                            //get all options                            var options = grid.getOption();                            //get single option                            var optionValue = grid.getOption(optionKey);
setFormatter(formatters)
Set or customize Grid formatters.
                            //set multiple formatters                            grid.setFormatter({                                string: function(value, rowItem, columnItem, cellNode) {                                    return value;                                }                            });                            //set single formatter                            grid.setFormatter("string", formatterHandler);
default cell formatter: string, number, date, icon, blank, checkbox, tree, null
default header formatter: header
Formatter arguments:
                            function(value, rowItem, columnItem, cellNode) {                                 // value is formatted by null formatter                                // get original value:                                var originalValue = rowItem[columnItem.id];                                var rowIndex = rowItem.tg_index;                                var columnIndex = columnItem.tg_index;                                // using default formatter returns:                                var defaultFormatter = this.getDefaultFormatter("[formatter-name]");                                return defaultFormatter(value + " new text", rowItem, columnItem, cellNode)                            }
getFormatter(type)
Returns type specified formatter(Function).
                            var stringFormatter = grid.getFormatter("string");
getDefaultFormatter([type])
Returns type specified default formatter(Function).
                            var treeFormatter = grid.getDefaultFormatter("tree");
bind(eventType, handler)
Attach a handler to an event for Grid. See allevent types.
                            grid.bind("onUpdated", function(e, d){                                //console.log(d);                            });
DemoEvents
once(eventType, handler)
Attach a handler to an event. The handler is executed at most once per event type. It will be removed once it triggers for the first time.
                            grid.once("onUpdated", function(e, eventData){                                //console.log(eventData);                            });
unbind([eventType][, handler])
Remove a previously-attached event handler from Grid.
                            grid.unbind();                            grid.unbind("onUpdated");                            grid.unbind("onUpdated", handler);
trigger(eventType, eventData)
Execute all handlers attached to Grid for an event.
                            this.trigger(eventType, eventData);
getAllEvents()
Returns allevent types.
                            var allEventTypes = grid.getAllEvents();
DemoEvents
render()
                            grid.render();
resize([w, [h]])
                            grid.resize();                            grid.resize(600, 400);
DemoResize
destroy()
                            grid.destroy();
getColumnItem(columnIndex)getRowItem(rowIndex)
Different data types of the rowIndex/columnIndex parameter are supported :
  1. If parameter type is Number, grid will search the row/column item by index. (recommend, highest performance)
  2. If parameter type is String, grid will iterates all items to match the row/column id.
  3. If parameter type is Object, grid will look at the object properties:
    • If there is a tg_index property inside the object, grid will search the row/column item by index. (higher priority)
    • if there is an id property (type of string), grid will iterates all items to match the row/column id.
                            var columnItem = grid.getColumnItem(columnIndex);                            var rowItem = grid.getRowItem(rowIndex);                            var rowItem = grid.getRowItem(123);                            var rowItem = grid.getRowItem("id_123");                            var rowItem = grid.getRowItemBy("id", "id_123");                            var rowItem = grid.getRowItemBy("key", "value");
showLoading()hideLoading()setLoading(loading)
                            grid.showLoading();                            grid.hideLoading();                            grid.setLoading("Loading ...");                            grid.setLoading(function(container) {                                return document.createElement("div");                            });
showMask()hideMask()
                            grid.showMask();                            grid.showMask({                                opacity: 0.3                            });                            grid.hideMask();
expandAllRows()collapseAllRows()toggleAllRows()
                            grid.expandAllRows();                            grid.collapseAllRows();                            grid.toggleAllRows();
expandRow(rowIndex)collapseRow(rowIndex)toggleRow(rowIndex)
                            grid.expandRow(rowIndex);                            grid.collapseRow(rowIndex);                            grid.toggleRow(rowIndex);
expandRowLevel(level)
                            grid.expandRowLevel(level);
exportData([keysSettings])
Returns all columns and rows data without private properties or by keysSettings.
                            var exportedData = grid.exportData();                            var exportedData = grid.exportData({                                the_key_need: true,                                key_key_no_need: false                            });
DemoExport
setRowSubs(rowIndex, subs)
                            var subs = [{name:"row1"},{name:"row2"}];                            grid.setRowSubs(rowIndex, subs);
setRows(rowList)
                            var rows = [{name:"row1"},{name:"row2"}];                            grid.setRows(rows);
addRow(rowInfo[, parent, position, scrollTo = true])deleteRow(rowIndex)
                            grid.addRow({                                id: "id1",                                name: "row item"                            });                            grid.addRow(["Row 1", "Row 2"]);                            grid.addRow(["Row 1", "Row 2"], parentIndex);                            grid.addRow("Row Before","level_0", 0);                            grid.deleteRow(2);                            grid.deleteRow([1, 2]);
moveRowsToTop(rowList)moveRowsUp(rowList)moveRowsDown(rowList)moveRowsToBottom(rowList)moveSelectedRowsToTop()moveSelectedRowsUp()moveSelectedRowsDown()moveSelectedRowsToBottom()moveRows(rowList, offset)
offset: if < 0 move up; if > 0 move down
                            grid.moveRowsToTop(["row_id1", "row_id2"]);                            grid.moveRowsUp(["row_id1", "row_id2"]);                            grid.moveRowsDown(["row_id1", "row_id2"]);                            grid.moveRowsToBottom(["row_id1", "row_id2"]);                                grid.moveSelectedRowsToTop();                            grid.moveSelectedRowsUp();                            grid.moveSelectedRowsDown();                            grid.moveSelectedRowsToBottom();                            grid.moveRows(["row_id"], -1);                            grid.moveRows(["row_id"], -2);                            grid.moveRows("row_id", 1);
selectAll()
                            grid.selectAll();                            grid.selectAll(false);
setRowSelected(rowIndex)
                            grid.setRowSelected(rowIndex);                            grid.setRowSelected(rowIndex, false);                            grid.setRowSelected();
getSelectedRow()getSelectedRows()
Returns a list for multiple selection
                            var selectedRow = grid.getSelectedRow();                            var selectedRows = grid.getSelectedRows();
setRowHover(rowIndex, hover)
hover: true or false
                            grid.setRowHover(rowIndex, true);                            grid.setRowHover(rowIndex, false);
setSortColumn(sortColumn)removeSortColumn()
Remove sort state if data changed
                            grid.setSortColumn(sortColumn);                            grid.removeSortColumn();
setColumnWidth(columnIndex, width)
Dynamic set column width, minWidth/maxWidth could be updated
                            grid.setColumnWidth(columnIndex, width);
showColumn(columnIndex)hideColumn(columnIndex)
                            grid.showColumn(columnIndex);                            grid.hideColumn(columnIndex);                            grid.showColumn([1, 3]);                            grid.hideColumn([1, 3]);
addColumn(columnInfo[, parent, position, scrollTo = true])deleteColumn(columnIndex)
                            grid.addColumn({                                id: "id1",                                name: "column item"                            });                            grid.addColumn(["Column 1", "Column 2"]);                            grid.addColumn(["Column 1", "Column 2"], parentIndex);                            grid.addColumn("Column Before","level_0",0);                            grid.deleteColumn(2);                            grid.deleteColumn([1, 2]);
scrollToRow(rowIndex)scrollToFirstRow()scrollToLastRow()scrollToColumn(columnIndex)scrollToFirstColumn()scrollToLastColumn(end)scrollToCell(rowIndex, columnIndex)
                            grid.scrollToRow(rowIndex);                            grid.scrollToColumn(columnIndex);                            grid.scrollToCell(rowIndex, columnIndex);
DemoScroll
scrollRowIntoView(rowIndex)scrollColumnIntoView(columnIndex)scrollCellIntoView(rowIndex, columnIndex)
                            grid.scrollRowIntoView(rowIndex);                            grid.scrollColumnIntoView(columnIndex);                            grid.scrollCellIntoView(rowIndex, columnIndex);
DemoScroll
setScrollTop(top)setScrollLeft(left)getScrollTop()getScrollLeft()
                            grid.setScrollTop(200);                            grid.setScrollLeft(200);                            var st = grid.getScrollTop();                            var sl = grid.getScrollLeft();
DemoScroll
updateRow(rowIndex[, rowData])updateCell(rowIndex, columnIndex[, cellValue])
                            grid.updateRow(rowIndex);                            grid.updateRow(rowIndex, rowData);                            grid.updateCell(rowIndex, columnIndex);                            grid.updateCell(rowIndex, columnIndex, cellValue);
DemoFlush
getScrollbarWidth()
Returns 0 orscrollbarSize if has vertical scrollbar (hasVScroll)
getScrollbarHeight()
Returns 0 orscrollbarSize if has horizontal scrollbar (hasHScroll)
                            var sbw = grid.getScrollbarWidth();                            var sbh = grid.getScrollbarHeight();
getScrollViewWidth()getScrollViewHeight()
Scroll View size = Scroll Pane size - Scrollbar size
                            var svw = grid.getScrollViewWidth();                            var svh = grid.getScrollViewHeight();
getScrollPaneWidth()getScrollPaneHeight()
Scroll Pane size = Scroll View size + Scrollbar size
                            var spw = grid.getScrollPaneWidth();                            var sph = grid.getScrollPaneHeight();
getRowsLength(total)
Total rows length. default total is false; total is true means including collapsed/filtered rows;
                            var len = grid.getRowsLength();                            var totalLen = grid.getRowsLength(true);
getRowsHeight()
Total rows height
                            var totalHeight = grid.getRowsHeight();
getRowHeight(rowIndex)
                            var rowHeight = grid.getRowHeight(rowIndex);
getViewport()
Returns current the index list of visible rows and columns.
                            var viewport = grid.getViewport();                            // { rows, columns }
find(selector)
                            var nodes = grid.find(".selector-name");
getCellNode(rowIndex, columnIndex)
                            var cellNode = grid.getCellNode(rowIndex, columnIndex);
getHeaderItemNode(columnIndex)
                            var headerItemNode = grid.getHeaderItemNode(columnIndex);
getColumnHeaderNode(columnIndex)
                            var columnHeaderNode = grid.getColumnHeaderNode(columnIndex);
forEachColumn(callback)forEachRow(callback)
Executing a function for each column/row.
                            grid.forEachColumn(function(column, index, parent) {                                //                            });                            grid.forEachRow(function(row, index, parent) {                                //                            });
isRowSelectable(rowItem)
                            var rowItem = grid.getRowItem(rowIndex);                            if (grid.isRowSelectable(rowItem)) {                                console.log("selectable");                            }
isRowLeaf(rowItem)
Returns true or false.
onNextUpdated(handler)
Attach a handler to onUpdated event and the handler is executed at most once.
                            grid.onNextUpdated(function(e, eventData){                                //console.log(eventData);                            });
Data
Both columns and rows are same data structure (JSON/Tree-like):
                                    [{                                        name: "item 1",                                        subs: [{                                            name : "item 2",                                            subs: [{                                                name : "item 3",                                                subs: [{                                                    ...                                                }]                                            }, ...]                                        }, ...]                                    }, ...]
                            var data = {                                columns : [...],                                rows : [...]                            };                            grid.setData(data);
columns
See column available properties:columnProps
                            var columns = [{                                id:"c1",                                type : "string",                                name:"Column Name 1"                            }, {                                id : "c2",                                type : "number",                                name : "Column Name 2"                            }, {                                id: "c3",                                name: "Column Name 3",                                subs: [{                                    id: "c3_s1",                                    name: "Column Name 3-1"                                }, {                                    id: "c3_s2",                                    name: "Column Name 3-2"                                }]                            }];
rows
See row available properties:rowProps
                            var rows = [{                                id : "r1",                                name : "Row Name 1",                                c1 : "string value 1",                                c2 : 1,                                c3_s1 : "value 3 - 1",                                c3_s2 : "value 1 - 2"                            }, {                                id : "r2",                                type : "group",                                name : "Row Name 2",                                c1 : "string value 2",                                c2 : "value 2",                                c3_s1 : "value 3 - 1",                                c3_s2 : "value 1 - 2",                                subs : [{                                    id : "r3",                                    type : "holding",                                    name : "Row Name 3",                                    c1 : "string value 3",                                    c2 : 3,                                    c3_s1 : "value 3 - 1",                                    c3_s2 : "value 1 - 2"                                }]                            }];
options
Sets options from data (The priority is higher than "setOption")
                            var data = {                                options : {                                    sortField : "name"                                },                                columns : columns,                                rows : rows                            };                            grid.setData(data);
rowsLength
Dynamic load rows data. No rows data but require total length of rows.
                                var data = {                                    columns: columns,                                    rowsLength: 50000                                };                                grid.setData(data);
Options
className = "tg-turbogrid"
Customize className (CSS namespace).
                        grid.setOption({                            className: "my-grid-class-name"                        });
theme = "[theme-name]"
Sets theme name: (default), lightblue, dark
DemoTheme
rowHeight = 23
rowCacheLength = 0columnCacheLength = 0
autoHeight = false
headerVisible = true
collapseAllVisible = truecollapseAllOnInit = null
selectVisible = falseselectAllVisible = trueselectAllOnInit = null
true: select all, false: unselect all, or do nothing
selectMultiple = true
rowNumberVisible = false
false: no number, true: show number column
rowNotFound = ''
empty; string; element; or function
rowDragCrossLevel = true
boolean or a handler function, returns a specified drop list
rowMoveCrossLevel = true
true: multi-level move, false: single level move
sortField = ""
Field for value compare
sortAsc = true
true: for ascending sort, false: for descending sort
sortBlankValueBottom = true
Configuration for sort blank value logic
true: rows with blank values should always be at the bottom of the grid
false: rows with blank values sort at the bottom for descending sort and at the top for ascending sort
sortOnInit = false
Sets true will sort by sortField on initialized
sortIndicator = "h"
"h" or "v" style
sortComparers = {defaultSortComparers}
Customize own sort comparers
rowFilter
rowProps =
                                {                                    //selected: Boolean                                    //collapsed: Boolean                                                                    //selectable : true                                    //exportable: true                                                                    //sortFixed: [Boolean, String "top"]                                                                    // customize row style                                    //classMap : [String, Array, Object]                                    //styleMap : [String, Array, Object]                                    //[columnId]ClassMap: [String, Array, Object]                                    //[columnId]StyleMap: [String, Array, Object]                                                                    // row type for class name: group                                    //type: String                                                                    //formatter: [String, Function]                                                                    //height: Number                                                                    //subs: Array                                }
columnProps =
                                {                                    // require for showing header                                    name: '',                                    // for getting row value                                    //id: String                                    // expect to be a string, for example: "string", "number", "date" etc.                                    //type: String                                    // formatter expect to be a function, but also can be a string like type                                    // priority is higher than type                                    // be used for cell formatting                                    //formatter: [String, Function]                                    //headerFormatter: [String, Function]                                    // comparer function when sort function(a, b, options)                                    //comparer: [String, Function]                                    // left (default) | center | right                                    //align: String                                    // customize column style                                    //classMap: [String, Array, Object]                                    //styleMap: [String, Array, Object]                                    //headerClassMap: [String, Array, Object]                                    //headerStyleMap: [String, Array, Object]                                    //sortable: true                                    //resizable: true                                    //exportable: true                                    //private: false                                    // require for column resize                                    minWidth: 81,                                    maxWidth: 300                                    //width: Number                                    //height: Number                                    //subs: Array                                                                    }
frozenColumn = -1frozenRow = -1frozenBottom = falsefrozenColumnMax = 10frozenRowMax = 10frozenRowHoverable = false
Boolean, Allow hovering on frozen row
DemoFrozen
scrollbarSize = 12
Sets scrollbar size
scrollbarRound = false
Sets scrollbar round style
scrollbarFade = false
Sets scrollbar fade
scrollbarFadeTimeout = 1000
Sets scrollbar fade timeout
scrollbarType = "auto"
Sets scrollbar type: auto, mobile (fade = true and size = 6)
scrollPaneMinWidth = 30
Sets scroll pane min width
textSelectable = false
Boolean, Allow select text
bindWindowResize = false
Boolean, Bind window resize and call resize API
bindContainerResize = false
Boolean, Bind container resize and call resize API (ResizeObserver required)
DemoResize
cellResizeObserver = null
Function, Filter for cell resize observer (ResizeObserver required)
Events
Event TypeEvent DataExample
onUpdatedonFirstUpdated
                                        Object: viewport
DemoEvents
onHeaderUpdated
                                        Object: {                                            node: headerNode                                        }
DemoEvents
onSort
                                    Object: {                                        e,                                        columnItem,                                        node: headerItemNode                                    }
DemoSort
onColumnAddedonColumnRemoved
                                        Array: [columnItem ...]
onColumnWidthChanged
                                        Object: columnItem
DemoEvents
onRowAddedonRowRemoved
                                        Array: [rowItem ...]
onRowExpandedonRowCollapsed
                                        Object: rowItem
DemoEvents
onRowSubsRequest
                                        Object: rowItem
onRowDragged
                                        Object: {                                            e,                                            rowItem                                        }
onRowDropped
                                        Object: {                                            rowItem,                                            dragFrom,                                            dragIndex,                                            dropInto,                                            dropIndex                                        }
onRowMoved
                                        Array: [rowItem ...]
onRowMouseEnteronRowMouseLeave
                                        Object: {                                            e,                                            rowItem                                        }
DemoEvents
onSelectChanged
                                        Array [rowItem ...]
onCellUpdated
                                        Object: {                                            value,                                            rowItem,                                            columnItem,                                            node: cellNode                                        }
DemoEvents
onCellMouseEnteronCellMouseLeave
                                        Object: {                                            e,                                            rowItem,                                            columnItem,                                            rowNode,                                            cellNode                                        }
DemoEvents
onClickonDblClickonContextMenuonMouseOveronMouseOut
                                        //on header                                        Object: {                                            e,                                            columnItem,                                            headerNode                                        }                                        //on body                                        Object: {                                            e,                                            rowItem,                                            columnItem,                                            rowNode,                                            cellNode                                        }
DemoEvents
onTouchStartonTouchMoveonTouchEnd
                                        //on header                                        Object: {                                            e,                                            columnItem?,                                            headerNode?                                        }                                        //on body                                        Object: {                                            e,                                            rowItem?,                                            columnItem?,                                            rowNode?,                                            cellNode?                                        }
DemoTouch
onScroll
                                        Object: {                                            scrollLeft,                                            scrollTop                                        }
DemoScroll
onScrollStateChanged
                                    Object: {                                        hasHScroll,                                        hasVScroll                                    }
DemoEvents
onMouseWheel
                                    Object: {                                        e,                                        deltaX,                                        deltaY                                    }
DemoScroll
onResize
                                        Object: {                                            previous: Object,                                            width: Number,                                             height: Number                                        }
DemoResize
onLayout
                                        Object: {                                            previous: Object,                                            headerWidth: Number,                                             headerHeight: Number,                                             bodyWidth: Number,                                             bodyHeight: Number,                                            scrollbarWidth: Number,                                            scrollbarHeight: Number                                        }
DemoResize
onKeyDown
                                        Object: {                                            e                                        }
DemoEvents
onDestroy
N/A
DemoFlush
Lifecycle
PhasesSub PhasesPayloadCapacity
create
create style and html in the container
set data
set options
set formatters
add events
lowloading APIs
                                        var grid = new Grid(container);                                        grid.setData(data);                                        grid.setOption(options);                                        grid.setFormatter(formatters);                                        grid.bind("[event type]", handler);
renderinit optionslowall APIs
                                        grid.render();                                        grid.rerender();
render headermiddle
render bodyrender rowsmiddle
render cellshigh
update
update body
update row(s)
update cell(s)
                                        grid.update();                                        grid.updateRow(rowIndex, rowData);                                        grid.updateCell(rowIndex, columnIndex, cellValue);
destroyremove alllownone
                                        grid.destroy();
tg
The "tg" is Grid prefix or namespace.
CSS className:
                            .tg-pane {}                            .tg-body{}                            .tg-row{}                            .tg-cell{}
Private property:
                            //rowItem.tg_index                            //rowItem.tg_level                            //rowItem.tg_group
The private properties will be removed whenexportData()

[8]ページ先頭

©2009-2025 Movatter.jp