我有一个选中了所有行的网格,有一个名为CODE的列,而我只需要单击CODE为1的按钮后取消选择那些行,然后选择其他行即可。
我尝试使用deselectAll();但这会取消选择网格中的所有行。
答案 0 :(得分:1)
您可以在deselect
上使用selectionModel
方法来删除对项目的选择。您可以传递要取消选择的记录数组或记录索引。下面是示例代码。
Ext.define('User', {
extend: 'Ext.data.Model',
fields: ['name', 'email', 'phone']
});
var userStore = Ext.create('Ext.data.Store', {
model: 'User',
data: [{
name: 'Lisa'
}, {
name: 'Bart'
}, {
name: 'Homer'
}
]
});
Ext.create('Ext.grid.Panel', {
renderTo: Ext.getBody(),
store: userStore,
storeId: 'mystore',
width: 300,
height: 400,
title: 'Application Users',
listeners: {
afterrender: function() {
this.getSelectionModel().select(1, true);
}
},
tbar: [
{
xtype: 'button',
text: "Deselect",
handler: function() {
this.up('grid').getSelectionModel().deselect(1); //deseleting record on 1st index
}
}
],
columns: [{
text: 'Name',
width: 300,
sortable: false,
hideable: false,
dataIndex: 'name'
}]
});