我有一个gridpanel和CheckboxModel列
在功能
renderer:function(value,metaData,record,rowIndex,colIndex,store,view){
if (record.data.check ==0) {
metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
return '<div class="' + Ext.baseCSSPrefix + 'grid-row-checker"> </div>';
}else {
metaData.trCls = Ext.baseCSSPrefix + 'x-grid-row-selected'; // not working
return '<div class="' + Ext.baseCSSPrefix + 'grid-row-checker"> </div>';
}
}
如何将类名添加到tr以选中复选框。我尝试下面的代码,但没有工作
metaData.trCls = Ext.baseCSSPrefix + 'x-grid-row-selected'; // not working
如何做到这一点,谢谢
修改的 这是我的问题 http://jsfiddle.net/wj9GM/ 的示例代码。如何解决这个问题
答案 0 :(得分:1)
Ext.onReady(function() {
// Create a dummy store
var store = new Ext.data.ArrayStore({
fields: ['id', 'name', 'check'],
data: [
[1, 'profile 1', 1],
[2, 'profile 2', 1],
[3, 'profile 3', 0]
]
});
var selModel = Ext.create('Ext.selection.CheckboxModel', {
checkOnly: true,
mode: 'MULTI'
});
var grid = new Ext.grid.GridPanel({
width: 400,
height: 200,
store: store,
loadMask: true,
selModel: selModel,
columns: [
{header: 'Id', sortable: true, dataIndex: 'id' },
{header: 'Name', sortable: true, dataIndex: 'name'}
],
listeners: {
'afterlayout': function(){
var records = this.getView().getRecords(this.getView().getNodes());
var result = new Array();
Ext.Array.each(records, function(record, index, records) {
if(record.get('check', 1)) {
result.push(record);
}
});
selModel.select(result);
}
},
renderTo: Ext.getBody()
});
});