2013-02-06 23 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

相关问题