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
extjs gridpanel重新配置问题_Extjs_Gridpanel - Fatal编程技术网

extjs gridpanel重新配置问题

extjs gridpanel重新配置问题,extjs,gridpanel,Extjs,Gridpanel,我需要重新配置gridpanel,第一次它工作正常,但第二次它抛出以下错误: JavaScript运行时错误:无法获取未定义或空引用的属性“id” 我的代码有什么问题 $.ajax({ url: "/Home/Create", data: JSON.stringify({ inputdata: selectedValues }), async: false, type: "POST", contentType: 'a

我需要重新配置
gridpanel
,第一次它工作正常,但第二次它抛出以下错误:

JavaScript运行时错误:无法获取未定义或空引用的属性“id”

我的代码有什么问题

$.ajax({
        url: "/Home/Create",
        data: JSON.stringify({ inputdata: selectedValues }),
        async: false,
        type: "POST",
        contentType: 'application/json',
        success: function (result) {

                var columns = [];
                var _fields = [];
                var data = {
                    Key: [],
                    Value: []
                };

                var nameCount = 0;
                var resultSet = result.result;
                resultSet.forEach(function (element) {
                    for (var key in element) {
                        if (element.hasOwnProperty(key)) {
                            var keyStr = key;


                                    data.Key.push(keyStr);
                                    data.Value.push(element[key]);


                            }
                        }
                    }

                });

                var column;

                var count = 0;
                resultSet.forEach(function (element, index, ar) {

                    for (var key in element) {
                        if (!element.hasOwnProperty(key)) continue;
                        if (element.hasOwnProperty(key)) {
                            var field = {};
                            var elementValue = element[key];
                            var typeCheck = typeof elementValue;

                            field['name'] = key;
                            if (key.startsWith('Completed')) {
                                field['type'] = 'date';
                                field['submitFormat'] = 'm/d/Y';
                                field['submitValue'] = true;
                            }
                            else {
                                switch (typeCheck) {
                                    case 'number':
                                        field['type'] = 'int';
                                        break;
                                    case 'boolean':
                                        field['type'] = 'string';
                                        break;
                                    case 'string':
                                        field['type'] = 'string';
                                        break;
                                    case 'object':
                                        field['type'] = 'object';
                                        break;
                                    case 'date':
                                        field['type'] = 'date';
                                        break;
                                    default:

                                }
                            }

                            _fields.push(field);
                            if (key == 'EmployeeId' || key == 'EmployeeGroup'
                                || key == 'GroupMemberId') {
                                column = Ext.create('Ext.grid.column.Column', {
                                    text: key,
                                    dataIndex: key,
                                    hidden: true
                                });
                                columns.push(column);
                            }
                            else {
                                if (!key.startsWith('EmployeeName') && !key.startsWith('EmployeeStatus') && !key.startsWith('Completed')) {
                                    column = Ext.create('Ext.grid.column.Column', {
                                        text: key,
                                        dataIndex: key,
                                        width: 80
                                    });
                                    columns.push(column);

                                }

                            }

                        }
                    }
                });

                        var keyValue = data.Key;
                        var values = data.Value;
                        var nameKeyValue = [];
                        var nameFinalValue;
                        for (var i = 0; i < keyValue.length; i++) {
                            for (var j = 0; j < values.length; j++) {
                                if (keyValue[i].startsWith('Name')) {
                                    nameKeyValue.push(values[j]);
                                }

                            }
                        }
                        for (var i = 0; i < keyValue.length; i++) {
                            nameFinalValue = nameKeyValue[i];

                                if (keyValue[i].startsWith('Name')) {

                                    var status = keyValue[i + 1];
                                    var completed = keyValue[i + 2];
                                    column = Ext.create('Ext.grid.column.Column', {
                                        text: nameFinalValue,
                                        dataIndex: nameFinalValue,
                                        columns: [
                                            Ext.create('Ext.grid.column.Column', {
                                                text: 'Employee Status',
                                                dataIndex: status,
                                                width: 80,
                                                stopSelection: false,
                                                editable: true,
                                                editor: {
                                                    xtype: 'checkbox'
                                                },
                                                field: { xtype: 'checkbox' }
                                            }),
                                            Ext.create('Ext.grid.column.Column', {
                                                text: 'Completed',
                                                dataIndex: completedOn,
                                                width: 80,
                                                editor: new Ext.form.DateField({
                                                    xtype: 'datefield',
                                                    format: 'm/d/y',
                                                    renderer: Ext.util.Format.dateRenderer('m/d/Y')
                                                })
                                            })
                                        ]
                                    });
                                    columns.push(column);
                                }


                        }


                // *** new code
                var store = Ext.create("Ext.data.Store", {
                    id: 'myStore',
                    fields: _fields,
                    groupField: 'Group',
                    proxy: {
                        type: 'ajax',
                        reader: {
                            type: 'json',
                            root: 'data'
                        }
                    }
                });
                var grid = App.myGrid;

                grid.reconfigure(Ext.getStore('myStore'), columns);//this line throws error
                grid.getStore().loadData(result.result);
                grid.getView().refresh();

                selectedValues = [];

            }
        }
    });
$.ajax({
url:“/Home/Create”,
数据:JSON.stringify({inputdata:selectedValues}),
async:false,
类型:“POST”,
contentType:'应用程序/json',
成功:功能(结果){
var列=[];
var_字段=[];
风险值数据={
密钥:[],
值:[]
};
var namecont=0;
var resultSet=result.result;
resultSet.forEach(函数(元素){
for(变量键入元素){
if(element.hasOwnProperty(key)){
var keyStr=键;
数据。按键。按键(keyStr);
data.Value.push(元素[键]);
}
}
}
});
var列;
var计数=0;
forEach(函数(元素、索引、ar){
for(变量键入元素){
如果(!element.hasOwnProperty(key))继续;
if(element.hasOwnProperty(key)){
变量字段={};
var elementValue=元素[键];
var typeCheck=元素值的类型;
字段['name']=键;
if(key.startsWith('Completed')){
字段['type']='date';
字段['submitFormat']='m/d/Y';
字段['submitValue']=true;
}
否则{
开关(类型检查){
案件编号:
字段['type']='int';
打破
“布尔”大小写:
字段['type']='string';
打破
大小写“string”:
字段['type']='string';
打破
案例“对象”:
字段['type']='object';
打破
案例“日期”:
字段['type']='date';
打破
违约:
}
}
_字段。推(字段);
如果(键=='EmployeeId'| |键=='EmployeeGroup'
||键=='GroupMemberId'){
column=Ext.create('Ext.grid.column.column'{
文本:键,
dataIndex:key,
隐藏:真的
});
columns.push(column);
}
否则{
如果(!key.startsWith('EmployeeName')&&&!key.startsWith('EmployeeStatus')&&!key.startsWith('Completed')){
column=Ext.create('Ext.grid.column.column'{
文本:键,
dataIndex:key,
宽度:80
});
columns.push(column);
}
}
}
}
});
var keyValue=data.Key;
var值=data.Value;
var nameKeyValue=[];
var最终价值;
对于(变量i=0;igrid.getStore().removeAll();