0

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

4

1 回答 1

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

更新

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

于 2013-07-26T21:14:19.010 回答