Я пытаюсь заставить работать сетку ExtJS, в которой есть флажки, из которых я могу получить массив строк / идентификаторов, чтобы я знал, какие строки были проверены.
I 'мы использовали этот пример из Sencha , чтобы следующая сетка корректно отображалась с флажками выбора, но она не показывает , как получить информацию из сетки , какие строки были провереныНапример, у меня будет кнопка с функцией-обработчиком, и внутри нее мне нужно написать что-то вроде:
var rowIdsChecks = grid.getRowIdsChecked ();
Как мне получитьинформация из таблицы, какие строки проверяются в настоящее время?
var myData = [
[4, 'This is a whole bunch of text that is going to be word-wrapped inside this column.', 0.24, '2010-11-17 08:31:12'],
[16, 'Computer2', 0.28, '2010-11-14 08:31:12'],
[5, 'Network1', 0.02, '2010-11-12 08:31:12'],
[1, 'Network2', 0.01, '2010-11-11 08:31:12'],
[12, 'Other', 0.42, '2010-11-04 08:31:12']
];
var myReader = new Ext.data.ArrayReader({}, [{
name: 'id',
type: 'int'
}, {
name: 'object',
type: 'object'
}, {
name: 'status',
type: 'float'
}, {
name: 'lastChange',
type: 'date',
dateFormat: 'Y-m-d H:i:s'
}]);
var sm = new Ext.grid.CheckboxSelectionModel();
var grid = new Ext.grid.GridPanel({
region: 'center',
style: 'margin: 10px',
store: new Ext.data.Store({
data: myData,
reader: myReader
}),
cm: new Ext.grid.ColumnModel({
defaults: {
width: 120,
sortable: true
},
columns: [
sm,
{
header: 'ID',
width: 50,
sortable: true,
dataIndex: 'id',
hidden: false
},
{
header: 'Object',
width: 120,
sortable: true,
dataIndex: 'object',
renderer: columnWrap
}, {
header: 'Status',
width: 90,
sortable: true,
dataIndex: 'status'
},
{
header: 'Last Updated',
width: 120,
sortable: true,
renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
dataIndex: 'lastChange'
}]
}),
sm: sm,
viewConfig: {
forceFit: true
},
title: 'Computer Information',
width: 500,
autoHeight: true,
frame: true,
listeners: {
'rowdblclick': function(grid, index, rec){
var id = grid.getSelectionModel().getSelected().json[0];
go_to_page('edit_item', 'id=' + id);
}
}
});
Решение:
Спасибо @jujule, этот код работает:
Ext.select('span#internal_link_001').on('click', function() {
var selections = grid.getSelectionModel().getSelections();
console.log(selections);
});
итогда у вас есть идентификаторы , как это: