The grid manages a collection of Ab.grid.Row
objects, one for each displayed grid row. You can access grid rows by index:
var rowCount = this.requestGrid.gridRows.getCount();
for (var i = 0; i < rowCount; i++) {
var row = this.requestGrid.gridRows.get(i);
...
}
You can also iterate over the collection:
this.requestGrid.gridRows.each(function (row) {
...
});
Properties and methods of the Ab.grid.Row object:
Property/Method | Description | Parameters |
---|---|---|
panel | Parent grid panel reference. | |
actions | Ext.util.MixedCollection of Ab.view.Action objects, one for each button or link in this row. |
|
cells | Ext.util.MixedCollection of Ab.grid.Cell objects, one for each cell in this row.
|
|
dom | This row DOM element (<tr> ) reference. |
|
getRecord() | Returns Ab.data.Record object containing all row field values as JavaScript objects.
|
|
select(selected) | Selects or unselects this row. | selected : true to select, false to unselect (optional, defaults to true ) |
unselect() | Unselects this row. | |
isSelected() | Returns true if this row is selected. |
If the grid has fields with controlType="button"
or controlType="link"
, each Ab.grid.Row
object will have a collection of Ab.view.Action
objects, one for each button or link in that grid row. If the corresponding field element in AXVW has an id attribute, you can access the corresponding action within the row's collection by that id:
var action = row.actions.get('approve');
action.enable(false);
You can attach event handlers to per-row action buttons or links:
requestGrid_onApprove: function(row, action) {
var request = row.getRecord();
request.setValue('wr.status', 'Approved');
this.requestDataSource.saveRecord(request);
}
The event handler name should match the panelId_onFieldId
pattern in order to be auto-wired. The first parameter (row
) is the Ab.grid.Row
object for the grid row on which the user clicked, and the second parameter (action
) is the Ab.view.Action
object for the button or link.
Each Ab.grid.Row
object manages a collection of Ab.grid.Cell
objects, one for each cell displayed in the row. You can access cells by index:
var cellCount = row.cells.getCount();
for (var i = 0; i < cellCount; i++) {
var cell = row.cells.get(i);
...
}
You can also iterate over the collection:
row.cells.each(function (cell) {
...
});
Properties and methods of theAb.grid.Cell
object:
Property/Method | Description | Parameters |
---|---|---|
row | Parent Ab.grid.Row object reference. |
|
column | Parent Ab.grid.Column object reference. |
|
dom | This cell DOM element (<td> ) reference. |
|
getId() | Returns cell column id as defined in AXVW. |