2010-01-28 107 views

回答

13

要更改选定行的颜色可以选择覆盖相应的CSS类:

.x-grid3-row-selected { 
    background-color: red !important; 
} 

如果要使用这个类你也可以覆盖默认border-color

另一方面,getRowClass函数用于将静态CSS类添加到使用业务逻辑来确定哪些行受到影响的行。您也可以通过这种方式实现行着色,但不会影响突出显示的行颜色(尽管您也可以编写将两个类一起使用的CSS)。

编辑:要以编程方式更改行样式,您仍然需要在CSS中静态定义样式,然后根据需要动态添加/删除CSS类。例如,假设一个网格和一个ID为'my-btn'的按钮,单击该按钮将向网格中的第一行添加一个类(可以像上面所示的那样定义,就像.x-grid3-row-selected一样),应用CSS类中的任何样式。它是由你来定义你真正的业务逻辑来选择行(S),但是这是语法:

Ext.get('my-btn').on('click', function(){ 
    Ext.fly(myGrid.getView().getRow(0)).addClass('error'); 
}); 
+0

有没有办法指向网格并更改未被选中的行,从另一个JS函数中说出来? – williamtroup 2010-02-01 07:50:43

+0

请看我编辑的答案。 – 2010-02-01 08:54:00

2

@bmoeskau你给不和我一起工作这件事。 我宁愿用

grid.getView().addRowClass(rowIndex, 'red'); 

的onDoubleClick函数内。

+1

addRowCls(HTMLElement/String/Number/Ext.data.Model rowInfo,String cls) – Rolf 2012-03-08 10:23:31