Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS ListView-为特定行设置背景色_Listview_Extjs - Fatal编程技术网

ExtJS ListView-为特定行设置背景色

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,

我有一个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样式定义

因此,在
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} ] });