我想獲得一個ExtJS網格工作,有複選框,我可以獲得行/ ID的數組,所以我知道哪些行已被檢查。如何查詢我的ExtJS網格以查看選中哪個CheckboxSelectionModel()複選框?
我用this example from 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);
});
,然後你有IDS這樣的: