2016-04-13 195 views
-1

在extjs中,我如何通過提供網格和行詳細信息來突出顯示網格中的一行。如果不能提供任何其他方法來做到這一點。突出顯示網格中的行 - extjs

mygrid.getSelectionModel().selectRows(array,keep current selections); 

上面這行選擇並使用默認顏色突出顯示它。有沒有一種方法來定製它的顏色?

回答

1

我不確定是否要選中某一行來突出顯示該行,或者只是突出顯示該行而不選擇它。

下面的文章包含幾乎所有你應該知道ExtJS的造型電網:http://skirtlesden.com/articles/styling-extjs-grid-cells

在「樣式行」,它說:

在許多情況下,一排造型是依賴於數據爲那一行。該數據由商店中的記錄表示。

Ext.create('Ext.grid.Panel', { 
    ... 
    viewConfig: { 
     stripeRows: false, 
     getRowClass: function(record) { 
      return record.get('age') < 18 ? 'child-row' : 'adult-row'; 
     } 
    } 
}); 

與自定義CSS:我們可以通過配置選項getRowClass添加CSS類基於記錄的元素

.child-row .x-grid-cell { 
    background-color: #ffe2e2; 
    color: #900; 
} 

.adult-row .x-grid-cell { 
    background-color: #e2ffe2; 
    color: #090; 
} 

不知道這是否是你要搜索的內容,但你可以看看整篇文章,我相信你可以在那裏找到你的問題的答案。

只是定製所選行的顏色在一定的電網也完全可以通過定義一定bodyCls上的網格(例如bodyCls:"mygrid")和相應的自定義樣式:

.mygrid .x-grid-item-selected .x-grid-cell { 
    background-image:none; 
    background-color:#fc0; 
} 
+1

實際的問題是:我有一個網格,當用戶編輯並保存網格時,我會進行驗證,並需要突出顯示不正確的行,並且需要突出顯示,直到提供可接受的值。 –

+0

好吧,這對getRowClass應該很容易。您只需將驗證邏輯放入'getRowClass'函數中即可。 – Alexander

相關問題