【问题标题】:How to get a different grid as child from a different row of another grid using Kendo detailInit function如何使用 Kendo detailInit 函数从另一个网格的不同行获取不同的网格作为子网格
【发布时间】:2017-06-14 13:06:39
【问题描述】:

我在每行中创建了一个带有按钮的网格,单击后会打开一个弹出窗口,每个按钮上都有不同的网格。

弹出网格的每一行都可能有一个子网格(另一个网格只有一列)。如果没有孩子,它应该是空的。

所以,我正在尝试使用 parent-Id(PId) 和 (Id) 将每一行映射到一个孩子,如给定示例中所示,这会将所有可用的孩子放入一行或不将它们放入它。

Dojo Sample Code

【问题讨论】:

  • 您能描述一下功能问题吗? “当我做 X 时,这会发生,但这就是我想要发生的事情”
  • 能不能通过弹窗的detailInit函数和dataSource?当我单击第一行中的按钮时,我得到一个包含 2 列的弹出窗口,其中第一行有子项,甚至第二行也有子项,这不应该存在。行和子的映射应该使用 parentId 和 Id 完成
  • 需要满足什么条件才能使其成为嵌套行项?
  • 应该有一个 PId 等于父行 ID 的 dataItem。否则它不会有任何子行项目

标签: javascript angularjs kendo-ui kendo-grid


【解决方案1】:

使用detailInit 需要一种稍微不同的方法来公开属于父项的数据。您可以像这样使用e.data 提取这些数据:

var newData2 = crdata.filter(function(ell) {
    return ell.NId == e.data.Id && ell.PId != 0;     
});

除了检查 dataSource NId = parent row Id 并将子网格的 dataSource 设置移动到 detailInit 函数本身之外,应该可以解决问题。

Dojo example 演示以上内容。

【讨论】:

猜你喜欢
  • 2013-03-10
  • 1970-01-01
  • 2020-11-02
  • 2013-01-13
  • 2013-02-08
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 2012-04-18
相关资源
最近更新 更多