2012-06-07 1 views
0

У меня есть JSON, какDojo Enhaced Grid - JsonRestStore, Сетка не показывает данные при использовании JsonRestStore

[ 
    { 
     "switchType": { 
      "name": "sansayv15", 
      "perform": false, 
      "createBy": null, 
      "createDate": null, 
      "intId": 1, 
      "id": 1 
     }, 
     "collectorType": { 
      "name": "FTP", 
      "perform": false, 
      "createBy": null, 
      "createDate": null, 
      "intId": 1, 
      "id": 1 
     }, 
     "fileType": { 
      "name": "TEXT", 
      "perform": false, 
      "createBy": null, 
      "createDate": null, 
      "intId": 1, 
      "id": 1 
     }, 
     "exportType": { 
      "name": "DB", 
      "perform": false, 
      "createBy": null, 
      "createDate": null, 
      "intId": 1, 
      "id": 1 
     }, 
     "linesToSkip": "1", 
     "checkValidate": "true", 
     "checkDuplicate": "true", 
     "driver": "com.mysql.jdbc.Driver", 
     "url": "jdbc:mysql://localhost:3306/panamaxmediation", 
     "tableName": "sansayv15", 
     "ftpIp": null, 
     "ftpPort": null, 
     "ftpUserName": null, 
     "ftpPassword": null, 
     "sftpIp": null, 
     "sftpPort": null, 
     "sftpUserName": null, 
     "sftpPassword": null, 
     "name": "sansayv15", 
     "password": "root", 
     "userName": "root", 
     "perform": false, 
     "createBy": null, 
     "createDate": null, 
     "intId": 1, 
     "id": 1 
    } 
] 

который поставляется в качестве выхода из моей службы. я использовать этот вывод в двух магазинах JsonResStore и ObjectStore над MemorryStore для EnhancedGrid

Я структура дифракционной решетки, определенной в переменной,

var templateGridStructure = [ { 
     name : "ID", 
     field : "id", 
     hidden : "true" 
    }, { 
     name : "Name", 
     field : "name", 
     width : "auto" 
    }, { 
     name : "Collection Method", 
     field : "_item", 
     width : "auto", 
     formatter : function(item) { 
      return item.collectorType.name; 
     } 
    }, { 
     name : "Export Method", 
     field : "_item", 
     width : "auto", 
     formatter : function(item) { 
      return item.exportType.name; 
     } 
    }, { 
     name : "Source File Type", 
     field : "_item", 
     width : "auto", 
     formatter : function(item) { 
      return item.fileType.name; 
     } 
    },{ 
     name : "Duplication Check", 
     field : "checkDuplicate", 
     width : "auto", 
    },{ 
     name : "Validation Check", 
     field : "checkValidate", 
     width : "auto", 

    },{ 
     name : "Switch Type", 
     field : "_item", 
     width : "auto", 
     formatter : function(item) { 
      return item.switchType.name; 
     } 
    } ]; 

При использовании ObjectStore в EnhancedGrid

templateGrid = new dojox.grid.EnhancedGrid({ 
       id : "templateGrid", 
       name : "templateGrid", 
       store : objectStore}); 

Энергосистема показывая правильные данные Но когда я использую JsonRestStore в EnhancedGrid

templateGrid = new dojox.grid.EnhancedGrid({ 
       id : "templateGrid", 
       name : "templateGrid", 
       store : jsonRestStore}); 

Я получаю error- сетку, не показывающую данные.

Есть ли разница в определении структуры столбцов между этими двумя магазинами. ??

ответ

0

Я нашел ошибку, любезность: Dojo IRC «Ravi: вы не должны быть доступа к пунктам магазинов додзё/данных непосредственно» Вместо, непосредственно с помощью элемента в методе форматировочной

{ 
     name : "Switch Type", 
     field : "_item", 
     width : "auto", 
     formatter : function(item) { 
      return item.switchType.name; 
     } 
    } 

использование магазина. ПолучитьЗначение (пункт, собственность), JsonRestStore, не дает прямой доступ к элементам

{ 
     name : "Switch Type", 
     field : "_item", 
     width : "auto" , 
     formatter : function(item) { 
      return store.getValue(item,"switchType").name; 
     } 
    } 

Я надеюсь, что кто-то получит помощь от этого