2011-05-19 5 views
0

У меня есть что-то JSon данных, как это:Extjs чтение сложных данных JSON в магазине

{ 

"Data": 

    { 
    "Columns": 
    [ 
     { 
      "Name":"Name", 
      "Format":"string" 
     }, 
     { 
      "Name":"Age", 
      "Format":"N2" 
     } 
    ], 
    "Rows": 
    [ 
     {"ExtensionData":{},"Cells":["Vikas", 23],"Emails":[{"ExtensionData": }, Email": [email protected]", "CellOrdinal":0}]}, 
     {"ExtensionData":{},"Cells":["Vikram", 27],"Emails":[{"ExtensionData":{},"Email":"[email protected]","CellOrdinal":0}]},  
    ] 
    } 
    "Grid Name":"Users" 
    } 
} 
} 

Мне нужно, чтобы связать это с моей сетке.

Тег «Столбцы» содержит имена столбцов сетки. «Строки» содержат записи сетки. Также есть некоторые данные, такие как Имя сетки, которое извлекается из базы данных. Это немного сложная структура.

Как получить эти данные в магазине? Как должна быть моя модель?

+0

К сожалению ... не может форматировать данные JSon правильно !!! – Vijay

+0

Я просто хочу упомянуть, что у вас также есть кнопка кода {} для форматирования;) – sra

ответ

4

Atlast после многих проб и ошибок получили модель готовую ...

Ext.define('Data', { 
    extend: 'Ext.data.Model', 
    fields: [ 
      { type: 'string', name: 'Grid Name' } 
     ], 
    hasMany: [{ model: 'Column', name: 'Columns' }, 
       { model: 'Row', name: 'Rows' }] 
}); 

Ext.define("Column", { 
    extend: 'Ext.data.Model', 
    fields: [ 
      { type: 'string', name: 'Name' }, 
      { type: 'string', name: 'Format' } 
     ], 
    belongsTo: 'Data' 
}); 

Ext.define("Row", { 
    extend: 'Ext.data.Model', 
    fields: [ 
      { type: 'string', name: 'Cells' }, 
      { type: 'string', name: 'Emails' } 
     ], 
    belongsTo: 'Data' 
}); 
Смежные вопросы