基于模型的拉力网格颜色行

时间:2013-07-25 19:48:40

标签: rally

我有一个配置为显示两个模型的拉力网格: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作为一个整体没有被用于拉力赛的情况。

1 个答案:

答案 0 :(得分:0)

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

您可以在此处看到构造函数的来源:https://developer.help.rallydev.com/apps/2.0rc1/doc/source/GridView.html#Rally-ui-grid-GridView

您应该能够通过在呈现视图之前重新覆盖该函数来解决它。

[提问者编辑] 在网格中添加了以下内容,它起作用了:

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
        };
    }
},

<强>更新

我刚刚在夜间构建中解决了这个问题,所以这应该不再是公共sdk构建中的问题,从2.0rc2之后的下一个公开发布开始。