2016-04-13 175 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

相关问题