2

dGrid でレイヤーのフィールドを設定する際に問題があります。

store = new Memory({data: someData});
grid = new Grid({
    store: store
});

layout = {[label: 'ID', field: '@attributes', formatter: getId]};

grid.set('columns', layout);

someData は、次の構造を持つオブジェクトです

someData = {
{@attributes: {
    id: someId
}},
{@attributes: {
    id: someId
}},
};

getId = function (value, rowId) {
return value.id;
};

まあ、それはIDなどを取得できません。

提案をいただければ幸いです。前もって感謝します :)

4

2 に答える 2

0

皆さんがすでに知っているように、ソリューションは非常に単純で、@ 記号を使用してオブジェクトにアクセスするには、ブラケット表記が必要です。dGridサポートしているのでformatter、このようにすることでタスクを達成できます

layout = {[
    label: 'ID', field: '@attributes', formatter: function (value) {
        return value['@attributes'].id;}
]};

ID 値が に表示されます@attributes

于 2013-09-11T23:34:41.183 に答える