2009-10-14 2 views
0

(я отправил это на ExtJS форума тоже, но Рекон SO вероятно занятый)Ext.Direct проблема сетки


HI

Я передаю вниз следующий JSON к прямому магазину:

{ 
"type": "rpc", 
"tid": 2, 
"action": "DirectReportDesigner", 
"method": "GetReports", 
"result": { 
    "total": 1, 
    "data": [{ 
     "id": 1, 
     "FullTypeName": null, 
     "title": "test", 
     "useGroupedColConfig": false, 
     "groupTextTemplate": "{'ProviderName': ' Contract Number -- {gvalue}','ProviderName': ' Provider Name -- {gvalue}'}", 
     "groupHeaders": null, 
     "groupFields": "['CostElement2', 'CostElement3', 'CostElement4']", 
     "groupedHeaders": false, 
     "jsonUrl": "report/BudgetManagerBudgetData.rails", 
     "menuType": "rptmid", 
     "actualType": "rptmid", 
     "ignoreCols": "1", 
     "getRowClass": "settings.utils.highlightRowWhenCellEmptyClass", 
     "deleted": false, 
     "fitToScreen": false, 
     "isCopyOf": 0 
    }] 
} 

}

здесь является то, что код JS выглядит следующим образом:

Ext.extend(Ideal.ReportDesigner.ReportGrid, Ideal.UI.BaseGrid, { 
    pageSize: 25, 
    afterRender: function() { 
     this.getStore().load({ 
      params: { 
       start: 0, 
       limit: 25 
      } 
     }); 

     Ideal.ReportDesigner.ReportGrid.superclass.afterRender.apply(this, arguments); 
    }, 
    header: false, 
    view: new Ext.grid.GridView({ 
     autoFill: true 
    }), 
    cm: new Ideal.UI.ColumnModel([{ 
     header: 'Report Name', 
     id: 'nameCol', 
     sortable: true, 
     dataIndex: 'title' 
    }, { 
     header: 'Json URL', 
     sortable: true, 
     dataIndex: 'jsonUrl' 
    }, { 
     header: 'Group Text Template', 
     sortable: true, 
     dataIndex: 'groupTextTemplate' 
    }, { 
     header: 'Group Headers', 
     sortable: true, 
     dataIndex: 'groupHeaders' 
    }, { 
     header: 'Group Fields', 
     id: 'groupFieldsCol', 
     sortable: true, 
     dataIndex: 'groupFields' 
    }, { 
     header: 'Grouped Headers', 
     sortable: true, 
     dataIndex: 'groupedHeaders' 
    }, { 
     header: 'Fit to Screen', 
     sortable: true, 
     dataIndex: 'fitToScreen' 
    }, { 
     header: 'Ignore Cols', 
     sortable: true, 
     dataIndex: 'ignoreCols' 
    }, { 
     header: 'Get Row Class', 
     sortable: true, 
     dataIndex: 'getRowClass' 
    } 
    ]), 

    initComponent: function() { 

     var ds = new Ext.data.DirectStore({ 
      directFn: DirectReportDesigner.GetReports, 
      paramsAsHash: false, 
      paramOrder: 'start|limit|sort|dir', 
      root: 'data', 
      idProperty: 'id', 
      totalProperty: 'total', 
      sortInfo: { 
       field: 'title', 
       direction: 'ASC' 
      }, 
      fields: [{ 
       name: 'id' 
      }, { 
       name: 'title' 
      }, { 
       name: 'useGroupedColConfig' 
      }, { 
       name: 'groupTextTemplate' 
      }, { 
       name: 'groupHeaders' 
      }, { 
       name: 'groupFields' 
      }, { 
       name: 'groupedHeaders' 
      }, { 
       name: 'jsonUrl' 
      }, { 
       name: 'menuType' 
      }, { 
       name: 'actualType' 
      }, { 
       name: 'fitToScreen' 
      }, { 
       name: 'ignoreCols' 
      }, { 
       name: 'getRowClass' 
      }, { 
       name: 'isCopyOf' 
      } 
      ], 
      remoteSort: true 
     }); 

     var pager = new Ext.PagingToolbar({ 
      store: ds, 
      displayInfo: true, 
      pageSize: this.pageSize 
     }); 

     var config = { 
      store: ds, 
      bbar: pager 
     }; 
     Ext.apply(this, Ext.apply(this.initialConfig, config)); 
     Ideal.ReportDesigner.ReportGrid.superclass.initComponent.apply(this, arguments); 
    } 

}); 

Сетка отображает ОК, код сервера, чтобы получить пожары json в порядке, но магазин никогда не загружает данные. Я знаю, что он передается обратно, поскольку я вижу его в firebug, и вот как я вложил его выше.

Может ли кто-нибудь увидеть что-нибудь очевидное здесь?

веселит

w: поля //

ответ

0

я сумел разобраться в этом - это было название C# переменной, получал сериализации, что бросает его - почему я понятия не имею !!!

0

Я всегда определяла магазина как массив строк, а не в качестве объектов.

fields: ['id','title','useGroupedColConfig', ...] 
+0

это нормально, но иногда мне нужно указать дополнительную информацию - тип данных и т. Д. – iwayneo

Смежные вопросы