EXTJS:How 根据 Response 中的 属性 在 TreeGrid 中绘制不同颜色的行?

EXTJS:How to paint a row in different color in TreeGrid based on the a property in Response?

我正在使用 treegrid 来显示数据。

问题:如何根据其中一列的值用不同的颜色绘制一行?

我们可能无法使用我们通常在普通网格中使用的行渲染器。我可以使用列渲染器从列渲染器内部绘制整行吗?

提前致谢。

可以使用网格面板上的 viewConfig 配置在网格面板上绘制行 -

viewConfig: {
      getRowClass: function(record, rowIndex, rowParams, store) {
                              return record.get('mycls');
                          }
}

然而,我在使用 SenchaArchitect 时遇到了一个奇怪的问题。 Tree Grid 面板默认有 viewConfig 属性 可用,但是当我搜索这个 属性 来添加我的逻辑时,Sencha 编辑器没有显示它,我最终通过 Sencha 手动添加 viewConfig :{}建筑师。这导致我的网格面板实例中有 2 个 viewConfig(一个是我的实现,一个是默认的)。所以我的 viewConfig 对象被默认的空 viewConfig 对象覆盖,我的逻辑从未被执行。

为了克服这个问题,我不得不保持一个肮脏的赫克并在 afterRender 函数中实现了这个逻辑,如下所示。

Grid.getView().getRowClass = function(record, rowIndex, rowParams, store){ 
    return record.get('mycls');
}

这是 Sencha Architect 中的潜在错误。