2014-02-20 54 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