Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 渲染后重新加载ExtJS属性网格_Javascript_Extjs - Fatal编程技术网

Javascript 渲染后重新加载ExtJS属性网格

Javascript 渲染后重新加载ExtJS属性网格,javascript,extjs,Javascript,Extjs,我有一个属性网格: periods.each(function(record){ var tempPropGrid = me.getView().add( { xtype:'propertygrid', width: 80, header: false, title: 'prop grid', //for some reason the headers are not hiding, we may nee

我有一个属性网格:

periods.each(function(record){

var tempPropGrid = me.getView().add(
    {
        xtype:'propertygrid',

        width: 80,
        header: false,
        title: 'prop grid',
        //for some reason the headers are not hiding, we may need to deal with this using CSS
        //hideHeaders: true,
        enableColumnResize: false,
        sortableColumns: false,
        nameColumnWidth: 1,
        source: record.data,
        sourceConfig: {

            periodScrumMaster: {
                editor: Ext.create('Ext.form.ComboBox', {
                    tdCls: 'red',
                    store: team,
                    queryMode: 'local',
                    displayField: 'personName',
                    valueField: 'personName',

                    listeners: {
                        'expand' : function(combo) {
                            var gridvalues = this.up('propertygrid').getSource();
                            combo.getStore().clearFilter(true);
                            combo.getStore().addFilter({property: 'teamName', value: teamName});
                            combo.getStore().addFilter({property: 'periodName', value: gridvalues.periodName});
                            var totalFTE = team.count();
                            console.log(totalFTE);
                            var teamStore = Ext.getStore('personPeriods');
                            console.log('store');
                            console.log(teamStore);
                        },
                    }}),
                displayName: 'Scrum Master'
            },



        },
具有渲染侦听器的:

 beforerender: function(){
调试器

                var gridValues = this.getSource();
                // console.log(record);
                //debugger;


                // filter periods for this period only
                periods.filterBy(function(record,id){
                    if(record.get("periodName") === gridValues.periodName){
                        return true;
                    }});

                // filter teamMembers for this period and team
                var view = this.up();
                var vm = view.getViewModel();
                var store = vm.getStore('teamMembers');
                store.filterBy(function(record,id){
                    if(record.get("periodName") === gridValues.periodName)    {
                        return true;
                    }});
                //store.clearFilter(true);
                store.addFilter({property: 'teamName', value: teamName});
                // get FTEs assigned to this team in this period by counting records
                var resourcedFtes = store.count();


                // Here I check the record in the periods store to make sure the data matches up with how many resourcedFte there is an update it if required
                // This is super bad and will need to refactor
                periods.each(function(record,idx){
                    var value = record.get('resourcedFte');
                    if(value != resourcedFtes){
                        record.set('resourcedFte',resourcedFtes);
                        record.commit();
                        vm.data.parentController.saveParent();

                    }});
                // Need to call save parent so that the record is updated when we update it above

                //Clear everything so that we can start fresh next period
                store.clearFilter(true);
                //periods.clearFilter(true);
基本上,有一些逻辑来检查数据是否正确/最新,如果不正确,则进行更新。这可以正常工作,但随后数据不会加载到网格中。渲染网格后,我必须刷新以使其正确加载


是否有一种方法可以调用属性网格上的刷新或重新加载方法,以便在if语句中再次加载数据?

如果我理解您的问题,我建议您对存储代理进行编程,以便它返回整个更改的记录。 您的商店是否已启用自动加载? 对不起,我还不能发表评论