Rally inline edit grid from custom data store -
i cannot figure out how save data rally after has been edited inline - had working version rallygrid providing model type, needed aggregate , change data in cases did not have flexibility do. else should work - 1 problem having saving changes user makes in-line rally.
_creategrid: function(start, end, type, filterconfig) { app._newgrid(start, end, type, { filters : filterconfig, fetch : ['formattedid', 'name', 'description', 'notes', 'owner', 'plannedstartdate', 'plannedenddate', 'c_winliststate', 'c_department', 'parent'] }, true, filterconfig); }, _newgrid: function(start, end, type, config, normalgrid, filterconfig) { ext.define('winstate', { extend: 'ext.data.model', fields: [ {name: 'value', type: 'string'} ] }); var datastore = ext.create('ext.data.store', { model: 'winstate', data : [ {value : "off track"}, {value : "at risk"}, {value : "on track"}, {value : "complete"} ] }); ext.define('stateeditor', { extend : 'ext.form.field.combobox', xtype : 'stateeditor', displayfield : 'value', store : datastore, querymode : 'local' }); ext.define('department', { extend: 'ext.data.model', fields: [ {name: 'value', type: 'string'} ] }); var deptstore = ext.create('ext.data.store', { model: 'department', data : [ {value: "x"}, {value: "y"}, {value: "z"}, ] }); ext.define('departmenteditor', { extend : 'ext.form.field.combobox', xtype : 'depteditor', displayfield : 'value', store : deptstore, querymode : 'local' }); var gridid; if (normalgrid) { gridid = 'datagrid'; } else { gridid = 'detailgrid'; } var parsedata = []; ext.create('rally.data.wsapidatastore', { model : type, limit : infinity, filters : filterconfig, fetch : ['name', 'formattedid', 'plannedstartdate', 'plannedenddate', 'notes', 'parent', 'description', 'c_winliststate', 'c_department', 'owner'] }).load({ callback : function(store) { ext.array.each(store.getitems(), function(item) { var winorder; var owner; if (item.owner) { owner = item.owner._refobjectname; } else { owner = ''; } var state; if (item.c_winliststate) { state = item.c_winliststate; } else { state = ''; } parsedata.push({ parent : '' + winorder, name : '' + item.name, id : '' + item.formattedid, scope : '' + app._getspan(new date(item.plannedstartdate), new date(item.plannedenddate)), notes : '' + item.notes, description : '' + item.description, winliststate : '' + state, department : '' + item.c_department, owner : '' + owner }); }); app.grid = app.down('#displayarea').add({ xtype : 'rallygrid', id : 'fullgrid', disableselection : true, showpagingtoolbar : false, enableediting : true, store : ext.create('rally.data.custom.store', { data : parsedata, pagesize : 1000000, autoload : true }), columncfgs: [ {text: 'id', dataindex: 'id', flex: 1}, {text: 'name', dataindex: 'name', flex: 2}, {text: 'notes', dataindex: 'notes', flex: 3}, {text: 'description', dataindex: 'description', flex: 3, editor: 'rallytextfield'}, {text: 'scope', dataindex: 'scope', flex: 1}, {text: 'state', dataindex: 'winliststate', flex: 1, editor: 'stateeditor'}, {text: 'department', dataindex: 'department', flex: 2, editor: 'depteditor'}, {text: 'owner', dataindex: 'owner', flex: 1} ] }); console.log('parsedata',parsedata); } }); }
i don't know if question still actual far dive rally sdk create similar guess should add listeners custom editors here in section "events" , update entities using data models
here quote conversation support team:
there no built-in support editable grid based on custom store.
Comments
Post a Comment