如何将自定义CSS类添加到数据网格(Ext.grid.Panel)中的行?我用的是ExtJS 4.0。
Ext.grid.Panel
sq1bmfud1#
方法是在网格上定义viewConfig:
viewConfig
Ext.create('Ext.grid.Panel', { ... viewConfig: { getRowClass: function(record, index, rowParams, store) { return record.get('someattr') === 'somevalue' ? 'someclass' : ''; } }, ... });
字符串
zte4gxcn2#
在Ext.grid.Panel的initComponent()中,使用getRowClass(),如下所示:
initComponent()
getRowClass()
initComponent: function(){ var me = this; me.callParent(arguments); me.getView().getRowClass = function(record, rowIndex, rowParams, store) { if (/* some check here based on the input */) { return 'myRowClass'; } }; }
字符串这基本上覆盖了底层Ext.grid.View的getRowClass()函数,该函数在渲染时被调用以应用任何自定义类。然后您的自定义css文件将包含如下内容:
Ext.grid.View
.myRowClass .x-grid-cell {background:#FF0000; }
型
lnvxswe23#
你可以这样做:
Ext.fly(myGrid.getView().getRow(0)).addClass('myClass');
字符串当然,您可以将getRow()调用替换为另一个单元格,或者您可以循环遍历所有行并适当地添加它。然后,除了默认的CSS之外,您还可以通过执行以下操作来设置样式:
getRow()
.x-grid3-row-selected .myClass { background-color: blue !important; }
型GridView还有一个私有方法addRowClass。你也可以使用它来添加一个类到你的行中,方法是:grid.getView().addRowClass(rowId, 'myClass');个
GridView
addRowClass
grid.getView().addRowClass(rowId, 'myClass');
// private - use getRowClass to apply custom row classes addRowClass : function(rowId, cls) { var row = this.getRow(rowId); if (row) { this.fly(row).addClass(cls); } },
mkshixfv4#
用最简单的方法在你的网格使用中-cls:'myRowClass'你的css -.myRowClass .x-grid-cell {background:#FF0000!important; }
qoefvg9y5#
如果你想在数据加载后更改类,你可以这样做:
myGridPanel.getView().removeRowCls(rowIndex,"old class"); myGridPanel.getView().addRowCls(rowIndex,"new class");
字符串在这里,rowIndex是选中的行,你可以在一些事件函数(如“select”)中获得。通过使用它,你可以在点击它后更改行的CSS。
5条答案
按热度按时间sq1bmfud1#
方法是在网格上定义
viewConfig
:字符串
zte4gxcn2#
在
Ext.grid.Panel
的initComponent()
中,使用getRowClass()
,如下所示:字符串
这基本上覆盖了底层
Ext.grid.View
的getRowClass()
函数,该函数在渲染时被调用以应用任何自定义类。然后您的自定义css文件将包含如下内容:型
lnvxswe23#
你可以这样做:
字符串
当然,您可以将
getRow()
调用替换为另一个单元格,或者您可以循环遍历所有行并适当地添加它。然后,除了默认的CSS之外,您还可以通过执行以下操作来设置样式:
型
GridView
还有一个私有方法addRowClass
。你也可以使用它来添加一个类到你的行中,方法是:grid.getView().addRowClass(rowId, 'myClass');
个型
mkshixfv4#
用最简单的方法
在你的网格使用中-
cls:'myRowClass'
你的css -
.myRowClass .x-grid-cell {background:#FF0000!important; }
qoefvg9y5#
如果你想在数据加载后更改类,你可以这样做:
字符串
在这里,rowIndex是选中的行,你可以在一些事件函数(如“select”)中获得。通过使用它,你可以在点击它后更改行的CSS。