Selection
Screencast
You can study this sample over screencast.
Preface
FancyGrid supports several variants of selection.
They are: cell, cells, column, columns, row, rows.
There are 2 types to set selection type: over selModel and over selModel.type if needed to set selection params.
Another one very often used with selection is tracking over.
Cell Selection
Select only one cell at a time.
To select it requires to click on cell.
Example: selModel
selModel: 'cell'
Example: selModel.type
selModel: {
type: 'cell'
}
Example: selModel.type with tracking hover stateEnables adding css classname
fancy-grid-cell-over on cell when mouseover.
selModel: {
type: 'cell'
},
cellTrackOver: true
Cells Selection
Select range of cells.
To select it requires to mousedown on cell and move cursor.
Example: selModel
selModel: 'cells'
Example: selModel.type
selModel: {
type: 'cells'
}
Example: selModel.type with tracking hover stateEnables adding css classname
fancy-grid-cell-over on cell when mouseover.
selModel: {
type: 'cells'
},
cellTrackOver: true
Column Selection
Select only one column at a time.
To select it requires to click on column.
Example: selModel
selModel: 'column'
Example: selModel.type
selModel: {
type: 'column'
}
Example: selModel.type with tracking hover stateEnables adding css classname
fancy-grid-column-over on column when mouseover.
selModel: {
type: 'column'
},
columnTrackOver: true
Columns Selection
Select number of columns.
To select it requires to mousedown on column and move.
Example: selModel
selModel: 'columns'
Example: selModel.type
selModel: {
type: 'columns'
}
Example: selModel.type with tracking hover stateEnables adding css classname
fancy-grid-column-over on column when mouseover.
selModel: {
type: 'columns'
},
columnTrackOver: true
Row Selection
Select only one row at a time.
To select it requires to click on row or checkbox in column with type equals to select.
For row selection it is avaliable checkbox selection.
For that it needs to add column with type equals to select
Example: selModel
selModel: 'row'
Example: selModel.type
selModel: {
type: 'row'
}
Example: selModel.type
selModel: {
type: 'row'
}
Example: selModel.type
selModel: {
type: 'row'
},
columns: [{
type: 'select'
},{
...
Example: selModel.type
selModel: {
type: 'row'
},
columns: [{
type: 'select'
},{
...
Example: selModel.type with tracking hover state
Enable adding css classname fancy-grid-cell-over on all cells of row when mouseover.
selModel: {
type: 'row'
},
trackOver: true,
columns: [{
type: 'select'
},{
...
Example: checkOnly
Enables selection only over checkbox.
Requires selModel types: row or rows.
selModel: {
type: 'row',
checkOnly: true
},
columns: [{
type: 'select'
},{
...
Rows Selection
Select number of rows.
It adds option to select all in header in column with type equals to select
To select it requires to mousedown on row and move or click on checkbox in column with type equals to select.
For row selection it is avaliable checkbox selection.
For that it needs to add column with type equals to select
Example: selModel
selModel: 'rows'
Example: selModel.type
selModel: {
type: 'rows'
}
Example: selModel.type
selModel: {
type: 'rows'
}
Example: selModel.type
selModel: {
type: 'rows'
},
columns: [{
type: 'select'
},{
...
Example: selModel.type with tracking hover state
Enable adding css classname fancy-grid-cell-over on all cells of row when mouseover.
selModel: {
type: 'rows'
},
trackOver: true,
columns: [{
type: 'select'
},{
...
Example: checkOnly
Enables selection only over checkbox.
Requires selModel types: row or rows.
selModel: {
type: 'row',
checkOnly: true
},
columns: [{
type: 'select',
checkOnly: true
},{
...
Example: memory selection
By default sorting, paging and most of actions clear grid selection.
For selection type equals to rows it is possible enable memory for selection.
selModel: 'rows'
columns: [{
type: 'select',
memory: true
},{
...
Events
There are several select event.- deselectrow(grid: Object, rowIndex: Number, dataItem: Model)
- select(grid:Object, selection: Array|Object)
- selectrow(grid: Object, rowIndex: Number, dataItem: Model)
events: [{
select: function(grid, options){
}
}]
...
Methods
Let us imagine that we need to do selection of grid outside not over clicking on grid.More about methods Doc Methods. Here is list of all paging methods:
- clearSelection() - clear selection
- disableSelection() - disable selection
- enableSelection() - enable selection
- selectRow(rowIndex: Number) - select row
- selectRow(rowIndex: Number, value: Boolean) - select/deselect row
- selectRow(rowIndex: Number, value: Boolean, multi: Boolean) - multi select/deselect row
- selectColumn(key: String) - select column