ExtJS ListView-为特定行设置背景色
我有一个ExtJS列表视图,如下所示: var myList = new Ext.list.ListView({ id:'mylist-view', store: mystore, multiSelect: true, emptyText: 'No content to display', reserveScrollOffset: true, columns: [{ header: 'Header-1', width: .3, dataIndex: 'data-1' },{ header: 'Header-2', width: .3, dataIndex: 'data-2', align: 'right' },{ header: 'Header-3', width: .3, dataIndex: 'data-3', align: 'right' }], }); 但是,这并没有帮助。函数应该返回css类的名称,而不是css样式定义 因此,在ExtJS ListView-为特定行设置背景色,listview,extjs,Listview,Extjs,我有一个ExtJS列表视图,如下所示: var myList = new Ext.list.ListView({ id:'mylist-view', store: mystore, multiSelect: true, emptyText: 'No content to display', reserveScrollOffset: true, columns: [{ header: 'Header-1', width: .3,
viewConfig
中应该有如下内容:
viewConfig: {
getRowClass: function(record, index, rowParams, ds) {
return record.get('data-1') == 'Total' ? 'myRowClass' : '';
}
}
在CSS文件中:
.myRowClass .x-grid-cell {
background-color: #EEEEEE
}
摆弄一下例子:试试这个
viewConfig: {
getRowClass: function (record) {
if (record && record.get('data-1') == 'Total') return 'data-available-row';
}
}
CSS
这是小提琴:
备注:
Listview只是一个Ext.grid.Panel
我在下面添加我的数据存储代码供您参考:
var mystore = new Ext.data.JsonStore({
fields: [ 'data-1', {name:'data-2', type: 'integer'},
{name:'data-3', type:'float'}],
data: [ {"data-1":"Data-1","data-2":83,"data-3":3.2},
{"data-1":"Total","data-2":73,"data-3":4.0} ]
});
var mystore=new Ext.data.JsonStore({
字段:['data-1',{name:'data-2',类型:'integer'},
{name:'data-3',type:'float'}],
数据:[{“数据1”:“数据1”,“数据2”:83,“数据3”:3.2},
{“数据-1”:“总计”,“数据-2”:73,“数据-3”:4.0}]
});
我尝试了上述解决方案,但没有任何区别。我在代码中使用的是ListView,而不是Panel。我知道Panel是ListView的父类,但这仍然不起作用,你确定吗?它起作用了。试着重新打开小提琴的例子。我用Listview更改了网格面板!你能用我在问题中粘贴的代码试试吗?我尝试了所有提供的解决方案,但对我不起作用。var mystore=new Ext.data.JsonStore({fields:['data-1',{name:'data-2',type:'integer'},{name:'data-3',type:'float'}),data:[{“data-1”:“data-1”,“data-2”:83,“data-3”:3.2},{“data-1”:“Total”,“data-2”:73,“data-3”:4.0} ] });在我看来,你的问题与字符串比较有关。尝试将
“总计”
更改为“总计”
。我修改了你的数据。它还在工作!
viewConfig: {
getRowClass: function (record) {
if (record && record.get('data-1') == 'Total') return 'data-available-row';
}
}
.data-available-row > td {
background-color: #f7e5e5 !important;
}
var mystore = new Ext.data.JsonStore({
fields: [ 'data-1', {name:'data-2', type: 'integer'},
{name:'data-3', type:'float'}],
data: [ {"data-1":"Data-1","data-2":83,"data-3":3.2},
{"data-1":"Total","data-2":73,"data-3":4.0} ]
});