2013-03-29 55 views
1

的對象和子對象是否有辦法來填補DojoX中/格/ EnhancedGrid的列在一個JSON結構的子對象? 例如,如果我有一個看起來像一個JSON-行:道場1.8填補EnhancedGrid與所提供的JsonRest

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

,我想填補格的列與子對象的「日期」,「創建」。 我已經嘗試過類似設置列的「場」屬性在網格中的「結構」屬性「created.date」,但沒有做的工作。

回答

2

Apparently你可以在這種情況下,使用格式:

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

將通過整個節點從商店到一個名爲myFormatter功能,從中可以通過相關的條目,如:

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

See also citress'在這裏回答:Dojo grid nested json

+0

這樣做的工作,謝謝! – Seijikun

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" 

下面是從控制檯的樣本:

Here's a sample from the console

+0

@Seijikun讓我知道如果這可以幫助你或沒有。 – Jess

+0

我想到這一點,但是這是不幸的是不可能的,因爲REST API是不可改變的。這將工作的日期,但真正的數據模型包含一些子對象,我需要的不止一個屬性。改變模型客戶端需要遍歷所有項目,這將是非常邪惡的。 – Seijikun

+0

我會離開這裏的答案的情況下,它可以幫助別人。 – Jess