Kendo Grid Datasource Update 0:N子表行

时间:2014-04-13 20:44:05

标签: odata kendo-grid kendo-datasource

我需要使用Kendo网格更新多个表。网格使用Kendo数据源通过服务调用(OData / Entity Framework)读取和更新远程数据。

  • 目前,网格可以从Table_A读取/写入数据。
  • Table_A与Table_B具有一对多的关系。我可以使用$ expand在阅读期间检索Table_B项目:{' Table_B'}
  • 在编辑行项目时,我还需要更新Table_B中的N个项目。我尝试更新模型中可用的子项(data.Table_B.results),但是我收到413错误,说请求实体太大。

因此,在编辑网格项时,是否可以:

  1. 在一次更新中更新父行和子行?
  2. 或者是否可以先更新父行,然后更新子行
  3. 我搜索了一些示例但到目前为止找不到任何示例。有什么想法或例子吗?

1 个答案:

答案 0 :(得分:1)

两个选项都可以。

对于第一个,需要Batch功能,即将多个请求包装到一个多部分http请求中。

对于第二个,它非常简单,需要发送几个请求,例如:

  1. PUT / PATCH~ / odata / Orders(1)
  2. PUT / PATCH~ / odata / Orders(1)/ OrderLines(1)
  3. PUT / PATCH~ / odata / Orders(1)/ OrderLines(2)
  4. 如果您刚刚开始使用OData,我建议从OData v4开始,因为从这个版本开始它几周前成为了OASIS的标准。以下是一些示例供您参考:https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/