私はちょうどExtJSを使い始めていて、サーバーからjsonとして受け取るデータに基づいて配置されるグリッドを作成しようとしています。私は、アーキテクチャを理解するのに問題があり、グリッドビューに正しく表示するために情報を分ける方法は、バニラのJavascriptのようなもので作業するよりはるかに複雑で複雑に思えるので、Extjs-5.1.2のストアとビューモデルを持つグリッド
私は現在、データはここでビューにハードコードされたとき、それは働いてい:
Ext.define('MyApp.view.main.Main', {
extend: 'Ext.container.Viewport',
requires: [
'MyApp.view.main.MainController',
'MyApp.view.main.MainModel',
'Ext.panel.Panel',
'Ext.grid.Panel'
],
/*
...Other containers and panels here
*/
xtype: 'grid',
width: '99%',
flex: 1,
store: {
fields:['name', 'email', 'address', 'hobby', 'notes'],
data:[
{ name: 'Rate', email: "[email protected]",
address: "382 Kilmanjaro", hobby: "tennis", notes: "Lorem ipsum dolor.."},
{ name: 'Jimjam', email: "[email protected]",
address: "889 McKinley", hobby: "none"}
],
proxy: {
type: 'memory'
}
},
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email'},
{ text: 'address', dataIndex: 'address' },
{ text: 'hobby', dataIndex: 'hobby'},
{ text: 'Notes', dataIndex: 'notes', flex: 1, cellWrap: true}
]
}]
しかし、私は、ビューの外に格納し、データを移動し、理想的にJSONファイルから読みたいです(そして後にGETリクエスト)。私が見た他の質問には、これにアプローチするためのさまざまな方法がありましたが、私はそれらをすべて混乱させてしまいます。特に、私は、異なるバージョン(私はExtJS 5.1.2を使用しています)では、
ストアとデータを配置する場所と、ビューに正しくバインドする方法については、正しい方向で指摘していただきたいと思います。私の主な問題は、関連するController.js、Model.js、Store.jsファイルの使用法と、その中にどのような情報が入るのかと考えています。
あなたはExtJSの例を見たことがありますか?本当に便利なhttp://examples.sencha.com/extjs/5.1.0/examples/kitchensink/#all特にこのグリッドの例を確認することができますhttp://examples.sencha.com/extjs/5.1.0/examples/ kitchensink /#xml-gridはXMLファイルからデータを読み込みますが、jsonでもかまいません。 – pagep
私はそれらを読んでいましたが、アーキテクチャの理解に問題があり、ファイルを正しく設定する方法がありました。私はちょうどテストして始めて以来、あまりにも多くの分離やJavaScript関数を書くことを避けようとしていましたが、それは基本的なモデル/ストア/ビューを理解した後、私がしなければならなかったのです!私はそれを働かせて、私の問題に私の実用的な解決策を投稿しました!私はXMLグリッドを指してくれてありがとう、本当に多くの助けになりました! – aaron