1

次の JSON データがあるとします。

[
{
    "pk": 2, 
    "model": "corkboard.announcement", 
    "fields": {
        "body": "Test announcement 2 body.", 
        "date": "2012-04-10T00:59:12Z", 
        "title": "Test Announcement 2"
    }
}, 
{
    "pk": 1, 
    "model": "corkboard.announcement", 
    "fields": {
        "body": "Test Announcement 1 body.", 
        "date": "2012-04-10T00:58:56Z", 
        "title": "Test Announcement 1"
    }
}
]

dojox/DataGrid を作成していますが、「フィールド」の子にアクセスする方法が見つからないようです。

これがJavaScriptです:

<script>
        var announcementStore, dataStore, grid;
        require(["dojo/store/JsonRest", "dojo/store/Memory", "dojo/store/Cache", "dojox/grid/DataGrid", "dojo/data/ObjectStore", "dojo/query", "dojo/domReady!"], 
            function(JsonRest, Memory, Cache, DataGrid, ObjectStore, query){
            announcementStore = Cache(JsonRest({target:"/corkboard/announcements/"}), Memory());
            grid = new DataGrid({
                store: dataStore = ObjectStore({objectStore: announcementStore}),
                structure: [
                    {name:"Title", field:"title", width: "200px"},
                    {name:"Body", field:"body", width: "200px", editable: true}
                ]
            }, "target-node-id");
            grid.startup();
            query("#save").onclick(function(){
                dataStore.save();
            });
        });
</script>

フィールドを定義するときに fields.title と fields.body を使用しようとしましたが、うまくいきませんでした。

この例では、「フィールド」の子にどのようにアクセスしますか?

4

1 に答える 1

0

formatter以下のようなグリッドの構造でメソッドを使用する必要があります。

{name:"Title",field:"_item",widht:"200px",formatter:function(item){return item.fields.title}}

を渡す必要があることを忘れないでください。これ_itemによりfield、フォーマッタ メソッドで行全体が得られ、ドット表記を使用して、必要なデータを返すことができます。

于 2012-06-19T18:48:36.327 に答える