gpt4 book ai didi

extjs - 渲染后如何在ExtJS GridPanel viewconfig上动态更改getRowClass函数

转载 作者:行者123 更新时间:2023-12-04 18:11:09 27 4
gpt4 key购买 nike

我有一个带有函数的Ext.grid.Panel,该函数返回一个自定义类,该类用于通过覆盖getRowClass函数对网格中的行进行颜色编码。这很好用,但是我想给用户选择更改网格着色标准的选项。在下面的示例中,我正在通过“严重性”属性进行着色,但是例如,我想将其更改为“状态”。有没有一种方法可以动态更改getRowClass函数,或者可以更改网格上的整个viewconfig,并在网格已渲染后重新着色网格?

alarmsGrid = Ext.create('Ext.grid.Panel', {
title: 'Netcool Alarms',
id: 'Netcool Alarms',
columnLines: true,
store: alarms_store,
loadMask: true,
stripeRows: true,
features: [alarmsGroupingFeature],
viewConfig: {
getRowClass: function(record, rowIndex, rowParams, store){
return record.get('severity').toLowerCase();
}
},

最佳答案

这仅仅是因为您做错了方法。几乎所有类型的配置对象仅在类的实例化时才相关,此后将不起作用。因此,您需要获取 View 实例本身以直接更改那里的属性(方法)。要以评论为例,您需要像这样写

alarmsGrid.getView().getRowClass = function(record, rowIndex, rowParams, store){ 
return record.get('status').toLowerCase();
}

参见 JSFiddle

关于extjs - 渲染后如何在ExtJS GridPanel viewconfig上动态更改getRowClass函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072153/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com