2013-05-03 38 views
1

我正在用rallyaddnew按钮创建一个组合项目,但是我想在创建之前对其进行修改。例如,我想添加一个特定的父项,并添加一些标签。用rallyaddnew创建的修改项目

我猜我可以在beforeCreate()事件中修改对象。但是,如果我这样做,我使用什么方法?我看到修改record.data.Name实际上似乎工作,但是做到这一点的正确方法是什么?

对于像父母或标签的东西,我想我需要一个Rally.util.Ref对象。但是,再次,修改对象的正确方法是什么?响应beforeCreate事件做一个record.data.Tags.push(REF)再次似乎有点直接...

回答

2

使用beforeCreate听众,你给出的记录进行修改:

var addNew = Ext.widget('rallyaddnew', { 
    recordTypes: ['User Story'], 
    ignoredRequiredFields: ['Name', 'ScheduleState', 'Project'], 
    listeners: { 
     beforeCreate: function(addNewComponent, record) { 
      record.set('Name', 'new name'); 
      record.set('Parent', '/hierarchicalrequirement/123.js') 
     } 
    } 
}); 

因此,使用record.set函数来设置数据,并且对于像Parent这样的引用属性,您应该使用ref字符串,如/hierarchicalrequirement/123.js(如果您有记录,则可以使用record.get('_ref')