2012-07-09 114 views
0

我有一個貪婪的列。並有一個json數據的json。即時消息噴射這json在我的js和做Ext.data.JsonStore但它沒有得到列。填充ExtJs列json

商店

store = new Ext.data.JsonStore({ 
url: url_servlet+'Kadastr.jsp', 
    fields: [ 
     {name: 'indoor', type: 'bool'}, 
     {name: 'kad_id', type: 'integer'}, 
     {name: 'kad_name',type: 'string'} 
    ] 
}); 
store.load(); 

var cm = new Ext.grid.ColumnModel({ 
    columns: [{ 
     xtype: 'checkcolumn', 
     header: '', 
     dataIndex: 'indoor', 
     width: 50 
    }, { 
     header: 'id', 
     dataIndex: 'kad_id', 
     width: 70 
    },{ 
     id: 'kad_name', 
     header: 'Участок', 
     dataIndex: 'common', 
     width: 130, 
     }] 
}) 

的GridPanel

var kad_tab = new Ext.grid.GridPanel({ 
    store: store, 
    cm: cm, 
    id: 'kad_greed', 
    title:'Список Участков', 
    autoScroll: true, 

Java代碼

  JSONObject resultJson = new JSONObject(); 
    resultJson.put("indoor",new Boolean(false)); 
    resultJson.put("kad_name",fileName); 
    resultJson.put("kad_id",new Integer(fileId)); 
      out.println(resultJson.toString()); 

任何偶像?我可以添加什麼?

+0

什麼時候你的store.load()調用發生了?商店是否已加載,因爲您創建了GridPanel? – jjathman 2012-07-09 04:41:02

+0

'store.load();'在第一個代碼片段中。 – 2012-07-09 04:53:41

+0

我嘗試添加'Ext.data.JsonReader',但沒有改變。 – 2012-07-09 05:44:22

回答

1

商店閱讀器期望一個項目數組,因爲我看到你只發送一條記錄。 所以,而不是:{"indoor":false,"kad_name":"filename"..}你應該發送一個數組和一個根對象。例如:

{"values":[{"indoor":false,"kad_name":"filename"..}]}然後只是將根「值」添加到jsonreader。默認的根是「」,所以你可以用默認的空白髮送它。