ファイルの一覧表示には、動的リモート データ (JSON) を含む Extjs ツリー パネルが必要です。
日付フィールド名が Extjs ツリー ストア フィールドに適合しません。そのため、リーフ フィールドとテキスト フィールドを追加するなど、適合するように再マッピングする必要があります。
返される JSON データは次のようになります。
[{
"id":1,
"yourRefNo":"A91273",
"documentName":"Test Document",
"documentFileName":"login_to_your_account-BLUE.jpg",
"updatedBy":"root root",
"updatedAt":"\/Date(1343012244000)\/"
}]
これがツリー パネルです。
Ext.define('App.view.Document.DocumentList', {
extend :'Ext.tree.Panel',
rootVisible : false,
alias: 'widget.Document_list',
store: 'DocumentList_store'
});
そしてこれが店です:
Ext.define('App.store.DocumentList_store', {
extend: "Ext.data.TreeStore",
model: 'App.model.DocumentList_model',
proxy: {
type: 'ajax',
url: '/Document/GetDocumentList/',
actionMethods: {
read: 'POST'
},
reader: {
type: 'json',
root: '' // there is no root
},
pageParam: undefined,
startParam: undefined,
pageParam: undefined
},
root: {
children: []
},
autoLoad: false,
listeners: {
append: function (thisNode, newChildNode, index, eOpts) {
console.log(newChildNode.get('documentName')); // 'Test Document'
newChildNode.set('leaf', true);
newChildNode.set('text', newChildNode.get('documentName'));
// it does not add to tree panel.
}
}
});
サーバーからデータをロードした後、追加機能をうまく呼び出します。その後、ツリーパネルには何も表示されません。
私が間違っていることは何ですか?私にアドバイスしてください。
ありがとう
[編集]
これがモデルで、
Ext.define("App.model.DocumentList_model", {
extend: "Ext.data.Model",
fields: [
'id','yourRefNo','documentName','documentFileName','updatedBy','updatedAt'
]
});