2014-02-20 56 views
0

我有如下一个ExtJS的ListView控件:ExtJS的ListView控件 - 设置背景颜色为特定行

 
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' 
    }], 
    }); 

我要为特定的行不同的背景颜色。我该怎么做?

我称之为提供了类似的问题,一些其他的解决方案,并尝试了以下内容:

viewConfig: { 
    getRowClass: function(record, index, rowParams, ds) { 
    return record.get('data-1') == 'Total' ? 'background-color: #EEEEEE' : ''; 
    } 
} 
 

但是,这并没有帮助。

回答

0

getRowClass函数应该返回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 
} 

拨弄例如:https://fiddle.sencha.com/#fiddle/3p8

+0

上述修复程序无效。 – user3318300

+0

它应该工作。看看这个例子:https://fiddle.sencha.com/#fiddle/3p8 – Akatum

0

试试这个..

viewConfig: { 
    getRowClass: function (record) { 
     if (record && record.get('data-1') == 'Total') return 'data-available-row'; 
    } 
} 

CSS

.data-available-row > td { 
    background-color: #f7e5e5 !important; 
} 

这里是小提琴:

Changing row color based on the row value

备注: 列表视图只是一个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} ] 
    }); 

+0

我试过上述解决方案,但没有区别。我在我的代码中使用ListView,但不是Panel。我知道面板是ListView的父类仍然这不起作用 – user3318300

+0

你确定吗?它正在工作。尝试重新打开小提琴的例子。我用Listview改变了网格面板! –

+0

你可以试试我在我的问题中粘贴的代码吗?我尝试了所有提供的解决方案,但它不适合我。 var mystore = new Ext.data。JsonStore({ \t \t字段: \t '数据1', \t {名称: '数据2',类型: '整数'}, \t {名称: '数据-3',类型:”浮动'} \t], \t数据:[ \t \t \t \t \t { “数据1”: “数据1”, “数据2”:83 “数据-3”:3.2}, \t \t \t \t \t {“data-1”:“Total”,“data-2”:73,“data-3”:4.0} \t] \t}); – user3318300