我有一个配置为显示两个模型的拉力网格: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作为一个整体没有被用于拉力赛的情况。
答案 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之后的下一个公开发布开始。