无法从数据库动态显示网格上的内容



我想显示加载表单数据从数据库和显示该数据到网格。但是,在执行该任务时,我面临一个问题,即,我无法将JSON响应获取到网格中,只有空行添加到网格中。

这是我的网格代码:
Ext.define('test.view.user.PredictabilityGrid' ,{
extend: 'Ext.grid.Panel',
alias: 'widget.predictabilitygrid',
title: 'Predictability Grid',
store:'UserGrid',
height: 200,
width: 400,
columns: [
          {     header: 'SAP ID',
                dataIndex:'userId'
          },
          {
              header: 'Name',
              dataIndex: 'userName'
              //id: 'gridName'
          },
          {
              header: 'Status',
              dataIndex: 'status'
          },
          {
              header: 'EDC Name',
              dataIndex: 'edcName'
          },
          {
              header: 'BHR',
              dataIndex: 'businessHr'
          },
          {
              header: 'Level',
              dataIndex: 'level'
          },
          {
              header: 'Designation',
              dataIndex: 'designation'
          },
          {
              header: 'Resign Date',
              dataIndex: 'dor'
          },
          {
              header: 'DOJ',
              dataIndex: 'doj'
          },
          {
              header: 'Manager',
              dataIndex: 'directManager'
          },
          {
              header: 'Indirect Manager',
              dataIndex: 'indirectManager'
          },
          {
              header: 'Quarter',
              dataIndex: 'quarter'
          },
          {
              header: 'Year',
              dataIndex: 'year'
          },
          {
              header: 'Predictability',
              dataIndex: 'predict'
          },
          {
              header: 'Primary Reason',
              dataIndex: 'primary'
          },
          {
              header: 'Secondary Reason',
              dataIndex: 'secondary'
          },
          {
              header: 'Probable Attrition Category',
              dataIndex: 'attrition'
          },
          {
              header: 'Criticality',
              dataIndex: 'criticality'
          },
          {
              header: 'Action Planned By Manager(1)',
              dataIndex: 'action1'
          },
          {
              header: 'Action Planned By Manager(2)',
              dataIndex: 'action2'
          },
          {
              header: 'Details',
              dataIndex: 'details'
          },
          {
              header: 'Dependency',
              dataIndex: 'dependency'
          },
          {
              header: 'Remarks',
              dataIndex: 'remarks'
          }],
          dockedItems:[{
                xtype: 'toolbar',
                docked:'top',
                height:50,
                items: [{
                    text:   'HrApps',
                    icon:   'hrapps.jpg'
                },{
                        xtype: 'tbfill'
                },{
                    itemId:'btnHomeGrid',
                    text: 'Home',
                    icon:'home.jpg'
                },{
                    itemId:'btnChangeGrid',
                    text:   'ChangePassword',
                    icon:'changepass.jpg'
                },{
                    itemId:'btnLogoutGrid',
                    text:'Logout',
                    icon:'Logout.jpg'
                }]
            }]
    });

这是我的网格存储:

Ext.define('test.store.UserGrid', {
extend: 'Ext.data.Store',
storeId:'UserGrid',
autoLoad: false,
alias : 'widget.UserGrid',
itemId:'UserGrid',
fields: ['userName','userId',
         'status',
         'edcName',
         'businessHr',
        'level',
         'doj',
         'designation',
         'directManager',
         'indirectManager',
         'quarter',
        'year',
         'dor',
         'predict',
       'primary',
         'secondary',
            'attrition',
            'criticality',
            'action1',
            'action2',
            'details',
            'dependency',
         'remarks'
         ]
   });

这是我的extjs控制器代码显示数据到网格:

在下面的代码中,我将数据存储到表单中,并将其返回并显示到网格中。

onSavePredict:function(button)
    {
        var predictabilityDetails = this.getPredictabilityForm().getForm().getValues();
        var form = button.up('predictability').getForm();
            Ext.Ajax.request({ 
                params : {
                predictData : Ext.encode(predictabilityDetails)
            },
                url: 'test/createPredictability', 
                success: function(response, options){
                var jsonResponse = Ext.decode(response.responseText);
                panel = button.up('parentPage');
                panel.getLayout().setActiveItem(5);
                form.reset();
                Ext.Ajax.request({ 
                    params : {
                    grid_data : Ext.encode(predictabilityDetails)
                },
                url: 'test/createGrid',
                success: function(response, options,record){
                    var jsonResponse = Ext.decode(response.responseText);
                    //this.getView().get(predictabilitygrid).getStore();
                    //alert(jsonResponse.predict.get().userName);
                    Ext.getStore('UserGrid').load();
                Ext.getStore('UserGrid').add(0,jsonResponse.predict);
                    /*userStore.insert(0, predictabilityDetails);   
                    predictabilityDetails.loadRecord(record);
                    predictabilityDetails.updateRecord();*/
                    }
                });
            }
            });

这是我的JSON响应:

{"预测":[{"预测":"适度"、"主要":"aaa级"、"二级":"ccc"、"消耗战":"后悔"临界":"关键"、"action1":"永久"、"action2":"好","actionstatus":"等待","细节":"是"依赖":"sa"、"备注":"dsd"、"用户名":"supriya"、"用户名":"7164921","状态":"不活跃"、"edcName":"HDC"、"businessHr":"苏雷什","水平":"L1","司法部":"03/05/2015"、"名称":"实习生","directManager":"bloom"indirectManager":"amith"、"年":"2015","季":"q1"、"金龟子":"}]}

如何使数据从数据库动态显示在网格上?

首先您应该删除"alias: "小部件。UserGrid'"one_answers"itemId:'UserGrid'"从你的商店。没道理。创建一个模型来绑定到您的商店,并在您的商店上配置一个ajax代理。然后调用store.load()

最新更新