从拉力赛网格中获取选定的用户故事

时间:2012-07-23 21:58:32

标签: javascript rally

我正在使用以下代码:

launch: function() {
    Rally.data.ModelFactory.getModel({
        type: 'UserStory',
        success: function(model) {
            this.down('#gridContainer').add({
                xtype: 'rallygrid',
                model: model,
                columnCfgs: [
                    {
                        text: 'ID',
                        dataIndex: 'FormattedID',
                        width: 75
                    },
                    {
                        text: 'Name',
                        dataIndex: 'Name',
                        width: 500,
                        listeners: {
                            click: this._showTasks,
                            scope: this
                        }
                    }
                ]
            });
        },
        scope: this
    });
}

当用户从网格中单击用户素材时,会调用_showTasks函数,但我无法获取他们单击的用户素材的ID。如果我 console.log(this)我可以看到ID存储在一个名为 selected 的项目数组中,但我不确定该属性的路径。我还认为可能有一种更简单的方法可以从网格中获取最近选择的用户故事?

最终目标是列出所选用户素材的子项的所有任务,或者在另一个拉力赛中,或者直接将它们打印到身体上。

1 个答案:

答案 0 :(得分:1)

您可以在网格上注册选择处理程序,而不是在列上注册单击处理程序:

{
    xtype: 'rallygrid',
    //...
    //more grid config
    //...
    listeners: {
        select: this._onSelect,
        scope: this
    }        
}

然后在你的onSelect处理程序中你有记录:

_onSelect: function(rowModel, record, rowIndex, options) {
    var id = record.get('ObjectID');
}