You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Agile Central自定义网格添加可点击的标准FormattedID格式?

实现Agile Central自定义网格的关联项可点击FormattedID

嘿,你的思路完全没问题!要把Predecessors和Successors的纯文本FormattedID改成带QDP(Quick Detail Popup)和跳转功能的标准样式,核心就是在列配置里用自定义renderer函数来生成符合Rally规范的链接元素,而不是直接返回文本。

具体实现代码

你可以把网格的columnCfgs更新成这样:

var myGrid = Ext.create('Ext.Container', {
    items: [
        {
            xtype: 'rallygrid',
            columnCfgs: [
                'FormattedID',
                'Name',
                {
                    text: 'Predecessors',
                    dataIndex: 'Predecessors',
                    renderer: function(value, metaData, record) {
                        // 处理空值情况
                        if (!value || value.length === 0) {
                            return '';
                        }
                        // 遍历每个前置项,生成带QDP的链接
                        return value.map(function(predecessor) {
                            // 用Rally内置的链接类触发QDP和跳转
                            return `<a href="#/${predecessor._refObjectName}/${predecessor.ObjectID}" class="rally-record-link">${predecessor.FormattedID}</a>`;
                        }).join(', ');
                    }
                },
                {
                    text: 'Successors',
                    dataIndex: 'Successors',
                    renderer: function(value, metaData, record) {
                        if (!value || value.length === 0) {
                            return '';
                        }
                        return value.map(function(successor) {
                            return `<a href="#/${successor._refObjectName}/${successor.ObjectID}" class="rally-record-link">${successor.FormattedID}</a>`;
                        }).join(', ');
                    }
                }
                // 其他列配置...
            ],
            storeConfig: {
                // 必须fetch关联项的必要字段,同时expand加载关联数据
                fetch: ['FormattedID', 'Name', 'Predecessors', 'Successors', 'ObjectID', '_refObjectName'],
                expand: ['Predecessors', 'Successors']
            }
            // 其他网格配置...
        }
    ]
});

关键细节说明

  • renderer函数:这是实现格式转换的核心,它会接收关联项数组,遍历每个项生成带样式的链接。
  • rally-record-link类:这是Rally的内置CSS类,自动赋予点击弹出QDP、跳转至对应记录详情页的功能,不用自己写额外的点击事件。
  • store配置:必须在storeConfig里设置expand来展开Predecessors和Successors关联,同时fetch需要包含ObjectID和_refObjectName(记录的类型,比如UserStory、Defect),否则无法生成正确的跳转链接。

这样处理后,你的自定义网格里的前置项和后置项FormattedID就会和Rally原生网格里的样式完全一致,支持点击弹窗查看详情和跳转啦。

内容的提问来源于stack exchange,提问作者Michael Østerberg Jakobsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:01:42