Rally 基于模型的网格颜色行集合

Rally 基于模型的网格颜色行集合,rally,Rally,我有一个配置为显示两个模型的rallygrid:PortfolioItem/Feature和PortfolioItem/Rollup。我想在网格中为它们着色以区分它们。我并没有夸耀他们会在网格中交替,或者诸如此类的事情。我只想对这些卷应用一种微妙的颜色,以便在视觉上区分它们 有人能想出一个简单的方法来实现这一点吗 我试过: viewConfig: { getRowClass: function(record, index, rowParams, store) { cons

我有一个配置为显示两个模型的rallygrid:PortfolioItem/Feature和PortfolioItem/Rollup。我想在网格中为它们着色以区分它们。我并没有夸耀他们会在网格中交替,或者诸如此类的事情。我只想对这些卷应用一种微妙的颜色,以便在视觉上区分它们

有人能想出一个简单的方法来实现这一点吗

我试过:

viewConfig: {
    getRowClass: function(record, index, rowParams, store) {
        console.log('record',record); // nothing logged in console
        console.log('index',index);
        return 'colorCodeGrid'; // class never added
    }
},
[编辑]

viewConfig: {
    stripeRows: false, // rows are no longer striped
    getRowClass: function(record, index, rowParams, store) {
        console.log('record',record); // still nothing logged in console
        console.log('index',index);
        return 'colorCodeGrid'; // class never added
    }
},

我感到奇怪的是,viewConfig确实正确地取消了行的条带化,但从未调用getRowClass。我想可能只是viewConfig作为一个整体没有在rallygrid中使用。

您上面使用viewConfig的方法应该有效-我将对此提出一个缺陷。根本原因是Rally.ui.grid.GridView正在清除其构造函数中的getRowClass函数(用于内部浏览器测试-ugghh),而不是检查是否提供了一个函数并调用它

您可以在此处查看构造函数的源代码:

您应该能够通过在呈现视图之前重新重写函数来解决此问题

[由asker编辑] 在网格中添加了以下内容,并且效果良好:

listeners: {
    beforerender: function(cmp) {
        console.log('beforerender');
        console.log('view',cmp);
        cmp.view.getRowClass = function(record, index, rowParams, store) {
            console.log('record',record); // still nothing logged in console
            console.log('index',index);
            return 'colorCodeGrid'; // class never added
        };
    }
},
更新


我刚刚在夜间构建中修复了这个问题,因此从2.0rc2之后的下一个公共发行版开始,在公共sdk构建中这应该不再是一个问题。

在columnCfgs函数中,您可以使用渲染器添加HTML div,并根据类型设置样式/颜色-PortfolioItem/功能与PortfolioItem/汇总?你知道如何使用渲染器吗?是的,但是我必须在每一列上使用渲染器,因为我想在行上使用背景色。或者我可以只为行编辑一次?我将给出一个示例:
App.grid.getView().addRowCls(row,'colorCodeGrid')其中
是渲染器函数的第四个参数,它表示行的索引。太棒了,这成功地更改了整行的背景色吗?遗憾的是,没有。无论是在拉力赛环境中,还是在调试模式下都非常接近!我尝试了一种与侦听器类似的方法——我编辑了您的侦听器以使其工作(将侦听器放在网格上,而不是放在viewConfig中)。非常感谢。这对我来说是可行的,但是在viewConfig上,就像Kyle最初使用的那样…但是当您这样做时,您需要设置cmp.getRowClass,而不是cmp.view.getRowClass