2013-09-10 44 views
0

我簡體商店:ExtJS的:dataIndex屬性不工作

Ext.define('PT.store.DealTree', { 
    extend: 'Ext.data.TreeStore', 
    proxy: { 
     type: 'rest', 
     url: '/dealTree', 
     reader: { type: 'json', root: 'children', successProperty: 'success' }, 
    }, 
    root: { name: 'children', expanded: true } 
}) 

我的簡化網格:

Ext.define('PT.view.deal.DealSelectionGrid', { 
    extend: 'Ext.tree.Panel', 
    alias: 'widget.dealSelectionGrid', 
    rootVisible: false, 
    fields: ['text', 'date'], 

    store: 'DealTree', 
    columns: [ 
     { xtype: 'treecolumn', text: 'Deal', dataIndex: 'text' }, 
     { xtype: 'datecolumn', text: 'Date', dataIndex: 'date' } 
    ] 
}); 

例簡化響應:

[ { text: 'aNode', 
    id: 522f7dd2323544c424000034, 
    leaf: true, 
    date: '2013/10/10' } ] 

沒有出現在日期列,但text,leaf,id都完美工作。我顯然缺少一些東西。目前,我沒有使用模型,因爲每個級別都是不同的模型,默認情況下不支持 - 因此我讓ExtJS爲我添加所有的NodeInterface裝飾。

+1

哪裏是你的模型定義?樹上的'fields'配置沒用。 –

回答

2

fields配置進入商店,而不是樹組件。

例如,你的代碼顯示日期與這家商店:

Ext.define('PT.store.DealTree', { 
    extend: 'Ext.data.TreeStore', 
    proxy: { 
     type: 'rest', 
     url: '/dealTree', 
     reader: { type: 'json', root: 'children', successProperty: 'success' } 
    }, 

    // fields option here! 
    fields: ['text', 'date'], 

    root: { 
     name: 'children', 
     expanded: true, 
     children: [{ 
      text: 'aNode', 
      id: '522f7dd2323544c424000034', 
      leaf: true, 
      date: '2013/10/10' 
     }] 
    } 
}); 
+0

doh!這比讓他們在樹上更有意義。感謝您抽出時間 – Colin