2

パラメータでロードされるデータビューがあります。このデータをテンプレートでレンダリングします。グリッドにレンダリングするネストされたアイテムがある同じデータを使用しようとしています。

データは次のようになります。

{
    "myJson": {
        "name": "abc",
        "type": "faulty",
        "notes": [
            {
                "date": "01-01-1970",
                "note": "test note"
            },
            {
                "date": "01-02-1970",
                "note": "test note 2"
            }
        ]
    }
}

店舗:

proxy: {
                type: 'ajax',
                url: '/api/detail/',
                reader: {
                    type: 'json',
                    root: 'myJson'
                }
            }

モデル:

    {
        name:'name',
    },
    {
        name:'type',
    },
    {
        name:'notes',
        mapping:'notes'
    },

テンプレート:

{name} - {type}

それはすべてうまくいきます。私がやりたいのは、notesチャンクを使用してグリッドに表示することです。問題は、ノート グループを読み取れないことです。

var notesListView = new Ext.list.ListView({
    store: 'myStore',
    multiSelect: false,
    width:'100%',
    id:'notesList',
    columns: [{
        header: 'Date',
        width: 75,
        dataIndex: 'date'
    },{
        header: 'Note',
        width: 150,
        dataIndex: 'note',
    }]
});

これを行うことさえ可能ですか?または、このデータ グループをグリッドで使用するには、新しいストアとモデルを作成する必要がありますか?

たとえば、両方のモデルで notes.date にマッピングしようとしました

name:'note_date',
mapping:'notes.date'

そしてグリッド自体で

dataIndex:'notes.date'

どちらも機能しませんでした。

私も使用してみましrendererたが、配列であるため、これも機能しません

renderer:function(value, metaData, record, rowIndex, colIndex, store){
    var value = value.date;//won't work; it needs an index a la value[0].date
    return value;
}
4

1 に答える 1