%META:TOPICPARENT{name="OATDOCIndex"}%
---+ grid.js
Advanced grid (table) control.
%TOC%
---++ Objects
---+++ OAT.Grid(element, optionsObject)
Creates a grid as a child of element.optionsObject may contain:
   * *autoNumber* - Grid will automatically add the first auto-numbered column
   * *rowOffset* - starting offset for auto-numbered column
   * *allowColumnHiding* - user can toggle column visibility at runtime
   * *sortFunc* - custom user-specified sorting routine
   * *imagePath* - path to images (with trailing slash)
   * *reorderNotifier* - routine to be called when column reordering occurs
---++ Methods
---+++ OAT.Grid::createRow(data, [index])
Adds a row. If index is present, it specifies at which index the new row should be inserted.Data is an array of either values or objects. If objects are used, they should contain:
   * *value* - cell value
   * *align* - one of ALIGN_ constants
---+++ OAT.Grid::createHeader(data)
Creates a header row. Data is an array of either values or objects. If objects are used, they should contain:
   * *value* - cell value
   * *sortable* - whether this column is sortable
   * *draggable* - whether this column is draggable
   * *resizable* - whether this column is resizable
   * *align* - one of ALIGN_ constants
   * *sort* - one of SORT_ constants
   * *type* - one of TYPE_ constants
---+++ OAT.Grid::appendHeader(data, [index])
Adds a new header cell. If index is present, it specifies at which index the new cell should be inserted.Data are in the same format as in OAT.Grid::createHeader().
---+++ OAT.Grid::fromTable(table)
Converts an existing table into a grid.
---+++ OAT.Grid::row::addCell(data, [index])
Adds one cell to one row. If index is present, it specifies at which index new cell should be inserted. Data are in the same format as in OAT.Grid::createRow(). This method should be called as grid.rows[i].addCell().
---+++ OAT.Grid::removeColumn(index)
Removes one column specified by index from the grid.
---+++ OAT.Grid::clearData()
Clears the grid (preserves header).
---+++ OAT.Grid::rows[index].select()
Selects row.
---+++ OAT.Grid::rows[index].deselect()
Deselects row.
---++ Constants    
---+++ OAT.GridData.LIMIT
Sets the minimal width of the column.
---+++ OAT.GridData.ALIGN_
Column alignment.
   * OAT.GridData.ALIGN_CENTER 
   * OAT.GridData.ALIGN_LEFT 
   * OAT.GridData.ALIGN_RIGHT 
---+++ OAT.GridData.SORT_
Column sorting order.
   * OAT.GridData.SORT_NONE
   * OAT.GridData.SORT_ASC
   * OAT.GridData.SORT_DESC 
---+++ OAT.GridData.TYPE_
Constants specifying the data type in a column. They affect sorting - string or numeric sorts will be used based on these constants. When set to auto, simple detection test (parsing a float of the first row) will be performed.
   * OAT.GridData.TYPE_AUTO 
   * OAT.GridData.TYPE_STRING
   * OAT.GridData.TYPE_NUMERIC 
---++ CSS classes
---+++ .grid
CSS class of grid table element.
---+++ .even
CSS class of even and odd rows.
---+++ .odd
CSS class of even and odd rows.
---+++ .hover
CSS class of hovered row.
---+++ .index
CSS class of the first column (index) when auto numbering option is active.
---+++ .header_value
CSS class of the header (first row) column.
---+++ .row_value
CSS class of a regular data column.
---++ Example
myGridInstance.rows[index].select(); 
myGridInstance.rows[index].deselect(); 
CategoryDocumentation CategoryOAT CategoryOpenSource