树的JSON格式在哪里?网格数据查询记录?

时间:2013-09-17 17:42:06

标签: kendo-ui

the remote data grid example中的代码包含:

       dataSource: {
            type: "odata",
            transport: {
                read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
            },

数据回来了(JSON但写作XML因为它更容易)作为" d / __ count,d / results []。结果是[0] / Order_Details / OrderID等。

虽然这一切都有效,但我对此有很多疑问:

  1. 这在哪里记录?
  2. 是否还有其他值可以返回?我想返回成功/失败的布尔值以及失败时出现错误消息的字符串。
  3. 可以更改返回的内容的名称/结构吗?
  4. 如何使用Order_Details.OrderID获取OrderID?如果还有Employee.OrderID(还返回Employee complex属性)怎么办?它会抓住第一个匹配的吗?可以被覆盖吗?它会进入任何深度吗?
  5. 请求URI中inlinecount = allpages的含义是什么?
  6. the tree control的类似问题。

    1. 上述问题1,2,3。
    2. 在请求节点的子节点时,如何知道将EmployeeID作为值传递。

1 个答案:

答案 0 :(得分:1)

您正在查看的格式为OData(这就是数据源类型选项设置为“odata”的原因)。一些Kendo UI示例服务返回OData,其他人返回JSONP(带有填充的JSON,跨域请求所需)。

您可以将TreeView和Grid绑定到以任何格式返回JSON的任何服务。您需要正确配置数据源,以便它知道JSON响应中的哪个字段包含您的数据项。检查数据源schema.data文档。

例如,如果您的服务“/ api / service”返回以下JSON:

{
   items: [
      { foo: "foo" },
      { foo: "bar" }
   ],
   count: 2
}

您需要像这样配置Kendo DataSource:

dataSource: {
    transport: {
       read: {
          url: "/api/service",
          dataType: "json"
       }
    },
    schema: {
       data: "items", /* the items field contains the data items */
       total: "count", /* optional, specifies the field which contains the total number of items in case your service supports paging */
    }
}