複雑なjsonオブジェクト(ネストされたプロパティを持つ)をGridPanelの列モデルにバインドしようとしています。 IE:私はreport.customer_nameとreport.report_data.customer.desc テストデータ、たとえば、にグリッド列をマップする:ext js - 複雑なjsonオブジェクトへのColumnModelバインディング
> {
> "success": true ,
> "total": "1",
> "result":
> {
> "report": {
> "customer_name": "cust one",
> "account_number": "",
> "report_data": {
> "detail": "these are details",
> "desc": "mydesc"
> }
> }
> } }
ので、私のcolumnmodelが
var colModel = new Ext.grid.ColumnModel([
{header: "Customer", sortable: true, dataIndex: 'customer_name'},
{header: "Account", width: 75, sortable: true, dataIndex: 'account_number'},
{header: "Detail", width: 75, sortable: true, dataIndex:'HOW DO I DO THIS'}
]);
ようなものになるだろう、私は詳細列のdataIndexを 'report_data.details'として試しましたが、機能しませんでした。
これを行うことができるかどうか誰かから教えてもらえますか? または、私はそれを読む前にオブジェクトを「平坦化」する必要がありますか? ありがとう!
完璧なおかげでたくさん:) – 29er
をサーバーがnull report_dataを持っている場合は何?それは店を制動するように見えます。何か案が ? – jujule
あなたはレンダラのトリックでそれを "ハック" することができ@jujule: '' 'JavaScriptの 関数get_report_data(report_data){ 場合(!report_data = NULL){ 戻りreport_data.detail。 }リターン "" } '' 、次いでグリッドで: 'ジャバスクリプト {テキスト: "詳細"、レンダラ:get_report_data、dataIndex: 'report_data'} ' 質問は:これは正しい方法ですか? –