2013-02-06 27 views
13

鑑於此json?我的Kendo數據源模式必須是什麼樣的?

[ 
{ 
    "CompanyId":20, 
    "CompanyName":"Walmart", 
    "CompanyContacts":[ 
        { 
         "CompanyId":20, 
         "FirstName":"Bob", 
         "LastName":"Green", 
         "Email":"[email protected]", 
         "Phone":"1234567", 
         "IsActive":false 
        } 
        ] 
} 
] 
+0

您能提供更多關於您要做什麼的信息嗎?此外,你可以格式化JSON文件,以便更容易閱讀? –

+1

這個問題爲什麼被拒絕投票?下面的答案告訴我我需要知道什麼。如果你不明白這個問題,繼續前進,不要投下它。 – Greg

+1

我不知道爲什麼這是downvoted。有人在我的評論之前做了這些,並且在問題得到解答之前。 –

回答

13

KendoUI數據源schema.Model目前不支持與相關實體嵌套的json或json。它需要平坦的數據。希望將來schema.Model將支持將複雜的json映射到模型定義中的flat。但是,您仍然可以在網格中使用複雜數據,但您無法在schema.Model定義中定義它。

映射實際上是在網格的字段定義中完成的。 另外請參閱schema docs您可以使用schema.parse或schema.data函數來解析數據,以手動將嵌套數據轉換爲平面數據。

這裏是一個fiddle例如與您的數據

{ 
    field : "CompanyContacts[0].FirstName", 
    title: "First Name" 
} 

另外請注意,如果您不需要父記錄公司名稱和CompanyID,因爲你在你的數據是當前定義的那麼有辦法在CompanyID你CompanyContacts你可以使用模式的數據屬性來指示您的記錄的起點,如

schema : { 
    model: mySchema, 
    data: "CompanyContacts" 
}, 
+0

非常感謝 - 全面的答案。我將模擬json以適應數據源。 – Greg

+9

@GungFoo,是的,但沒關係。老實說,我喜歡KendoUI框架,但文檔和示例非常差,這非常不像我習慣的Telerik。我花了一段時間才弄清楚這樣的基本情況,因爲缺乏好的文檔和例子,所以我感到他的痛苦,並給了他一個援助之手:) – dan

+0

@Dan - yea謝謝。很高興知道它不只是我。 – Greg

相關問題