1

dojox/grid/EnhancedGrid の列を JSON 構造のサブオブジェクトで埋める方法はありますか? たとえば、次のような JSON-Row があるとします。

   {
        id: 2,
        name: "TestItem2",
        created: {
             date: "2013-03-28 11:59:40",
             timezone_type: 3,
             timezone: "Europe/Berlin"
        }
   }

そして、グリッドの列に「作成された」サブオブジェクトの「日付」を入力したいと思います。グリッドの「構造」プロパティで列の「フィールド」プロパティを「created.date」に設定するようなことはすでに試しましたが、うまくいきませんでした。

4

2 に答える 2

2

この場合、フォーマッタを使用できるようです

var structure = [[
    {'name': 'Date', 'field': '_field', formatter: myFormatter }
]];

これにより、ノード全体がストアから呼び出された関数に渡されmyFormatter、そこから次のように関連するエントリを渡すことができます。

function myFormatter(node, rowIdx){
    return node.created.date;
};

こちらの市民の回答も参照してください: Dojo grid nested json

于 2013-03-29T23:20:20.657 に答える
0

これは一種の悪で不自由ですが、オブジェクト構造を変更すると、グリッドに入れるのに役立つかもしれません。日付が欲しいだけのように聞こえるので、これを行うことができます:

var o = {
    id: 2,
    name: "TestItem2",
    created: {
         date: "2013-03-28 11:59:40",
         timezone_type: 3,
         timezone: "Europe/Berlin"
    }
};

o.created = o.created.date;

オブジェクトは次のようになります。

created: "2013-03-28 11:59:40"
id: 2
name: "TestItem2"

コンソールからのサンプルを次に示します。

これはコンソールからのサンプルです

于 2013-03-30T02:54:56.057 に答える