向rallygridboard自定义HTML添加列的问题

向rallygridboard自定义HTML添加列的问题,rally,Rally,我试图做的是设置一个自定义报告,将一组特定的用户故事导出到Excel中,并添加一个下拉列表,按计划对用户故事进行排序 我在将列'Parent'添加到网格时遇到问题,我认为这将是一项简单的任务,但我遇到了麻烦 任何帮助都会很好 谢谢 Parent是用户故事的父级。您是否希望它显示公文包项父项?如果是这样的话,你应该使用Feature字段…@KyleMorse我希望看到美国的母公司(Feature)。目标是显示主动性(Feature.Parent.Parent)。但是,我也尝试了“功能”,没有填充该

我试图做的是设置一个自定义报告,将一组特定的用户故事导出到Excel中,并添加一个下拉列表,按计划对用户故事进行排序

我在将列
'Parent'
添加到网格时遇到问题,我认为这将是一项简单的任务,但我遇到了麻烦

任何帮助都会很好
谢谢


Parent是用户故事的父级。您是否希望它显示公文包项父项?如果是这样的话,你应该使用Feature字段…@KyleMorse我希望看到美国的母公司(Feature)。目标是显示主动性(Feature.Parent.Parent)。但是,我也尝试了“功能”,没有填充该列。我不确定我是否遗漏了什么。谢谢您的帮助。您是否在开发控制台中遇到错误?我将你的应用复制/粘贴到我的订阅中,功能栏显示良好。您使用的是哪个SDK版本?我用了2.1。。。另一件需要检查的事情-您的最低级别的公文包项目是否实际命名为Feature?父项是用户故事父项。您是否希望它显示公文包项父项?如果是这样的话,你应该使用Feature字段…@KyleMorse我希望看到美国的母公司(Feature)。目标是显示主动性(Feature.Parent.Parent)。但是,我也尝试了“功能”,没有填充该列。我不确定我是否遗漏了什么。谢谢您的帮助。您是否在开发控制台中遇到错误?我将你的应用复制/粘贴到我的订阅中,功能栏显示良好。您使用的是哪个SDK版本?我用了2.1。。。另一件需要检查的事情——您的最低级别的公文包项目是否实际命名为功能?
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',

              launch: function() {

               var filter = Ext.create('Rally.data.QueryFilter', {
                        property: 'c_Priority',
                        operator: '=',
                        value: '90 days'
                    });
                    filter = filter.or({
                        property: 'c_Priority',
                        operator: '=',
                        value: '60 days' 
                    });
                     filter = filter.or({
                        property: 'c_Priority',
                        operator: '=',
                        value: '30 days'
                    });
                     filter = filter.or({
                        property: 'c_Priority',
                        operator: '=',
                        value: '120 days'
                    });
                     filter = filter.or({
                        property: 'c_Priority',
                        operator: '=',
                        value: '120+ days'
                    });                        
                    filter.toString();

                Ext.create('Rally.data.wsapi.TreeStoreBuilder').build({
                    models: ['User Story'],
                    autoLoad: true,
                    enableHierarchy: true,
                    filters: filter,
                }).then({
                    success: this._onStoreBuilt,
                    scope: this
                });
            },

            _onStoreBuilt: function(store) {
                var modelNames = ['User story'],
                    context = this.getContext();
                this.add({
                    xtype: 'rallygridboard',
                    context: context,
                    modelNames: modelNames,
                    toggleState: 'grid',
                    stateful: false,

                    plugins: [
                        {
                            ptype: 'rallygridboardactionsmenu',
                            menuItems: [
                                {
                                    text: 'Export...',
                                    handler: function() {
                                        window.location = Rally.ui.grid.GridCsvExport.buildCsvExportUrl(
                                            this.down('rallygridboard').getGridOrBoard());
                                    },
                                    scope: this
                                }
                            ],
                            buttonConfig: {
                                iconCls: 'icon-export'
                            }
                        }
                    ],
                    gridConfig: {
                        store: store,

                        columnCfgs: [
                            'Name',
                            'ScheduleState',
                            'PlanEstimate', 
                            'c_Priority',
                            'Owner',
                            'Parent'
                              ]
                    },
                    height: this.getHeight()

                });
                console.log(store);
            }
        });