我能够使用record.set 解决这个问题。我的代码如下:
Ext.Loader.setConfig({enabled: true, paths:{'Ext.ux': 'ext/js/ux'}});
Ext.require([
'Ext.grid.*',
'Ext.data.*',
'Ext.ux.grid.HeaderToolTip',
'Ext.ux.CheckColumn'
]);
Ext.onReady(function () {
Ext.tip.QuickTipManager.init();
var teststore = Ext.create('Ext.data.ArrayStore', {
fields: [
{name: 'UserID', type: 'asUCString'},
{name: 'Name', type: 'asUCString'},
{name: 'Role', type: 'asUCString'},
{name: 'Leader', type: 'bool'},
{name: 'Member', type: 'bool'},
{name: 'Viewer', type: 'bool'}
],
data: [
['1', 'Hans Hansel', 'Customer/Freelancer', false, false, false],
['2', 'Doreen Duck', 'Consultant', false, false, false],
['3', 'Gerald Goose', 'Client', false, false, false],
['4', 'Frederic Fitzgerald', 'Super User IT', false, false, false],
['5', 'Aimee Anselm', 'Administrator', false, false, false]
]
});
var grid = Ext.create('Ext.grid.Panel', {
id: 'setPermissionsGrid',
title: '',
store: teststore, //Ext.data.StoreManager.lookup('simpsonsStore'),
plugins: ['headertooltip'],
//selType: 'checkboxmodel',
columns: [
{ text: 'Name', dataIndex: 'Name', width: 120},
{ text: 'Role', dataIndex: 'Role', width: 125},
{ text: 'Leader', dataIndex: 'Leader', xtype: 'checkcolumn', listeners: {'checkchange' : function(column, recordIndex, checked) {var record = teststore.getAt(recordIndex); record.set('Member', false); record.set('Viewer', false); }},width: 68, tooltip: '<b>Team Leader Rights:</b> '},
{ text: 'Member', dataIndex: 'Member', xtype: 'checkcolumn', listeners: {'checkchange' : function(column, recordIndex, checked) {var record = teststore.getAt(recordIndex); record.set('Leader', false); record.set('Viewer', false); }},width: 68, tooltip: '<b>Team Member Rights:</b> '},
{ text: 'Viewer', dataIndex: 'Viewer', xtype: 'checkcolumn', listeners: {'checkchange' : function(column, recordIndex, checked) {var record = teststore.getAt(recordIndex); record.set('Leader', false); record.set('Member', false); }},width: 68, tooltip: '<b>Team Viewer Rights:</b> '}
],
height: 219,
width: 450,
renderTo: Ext.getBody()