gpt4 book ai didi

jquery - 在同一级别创建 2 个子剑道网格

转载 作者:行者123 更新时间:2023-11-27 23:48:00 24 4
gpt4 key购买 nike

我需要为父剑道网格创建 2 个子剑道网格。我知道我可以使用 detailInit 创建一个剑道网格,并继续使用该方法获得更多层次结构。但是我需要解决的问题是让两个子网格都成为 sibling 。

因此,结构需要看起来像这样:

父网格 1
子网格 1
子网格 2

父网格 2
子网格 1
子网格 2

我不确定该怎么做。我在想,我可以有某种带有 2 个 div 的详细信息模板,并为每个 div 添加一个剑道网格。或者我可以在第一个剑道网格的末尾添加一个虚拟行,并使用该空间创建一个带有第二个子网格的 div,尽管这看起来很疯狂。有没有人遇到过类似的问题?

我试过类似的方法,但似乎不起作用。

    <script id="detail-template">    
<div id="subgrid1"></div>
<div id="subgrid2"></div>
</script>
<div id="grid"></div>

<script>

$("#grid").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
],
detailTemplate: kendo.template($("#detail-template").html()),

dataBound: function() {
$("#subgrid1").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
]
});
$("#subgrid2").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
]
});
}

});
</script>

最佳答案

你需要改变两件事:

不要使用 id 来查找详细信息网格。 id 必须是全局唯一的,并且详细信息网格在每个详细信息模板中都是重复的。请改用 class

<script id="detail-template">    
<div class="subgrid1"></div>
<div class="subgrid2"></div>
</script>

detailInit 事件期间而不是 dataBound 期间初始化详细信息网格。后者仅在绑定(bind)主网格时触发一次。

  detailInit: function(e) {
e.detailCell.find(".subgrid1").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
]
});

e.detailCell.find(".subgrid2").kendoGrid({
columns: [
{ field: "age" },
{ field: "name" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
]
});
},

这是一个live working demo .

关于jquery - 在同一级别创建 2 个子剑道网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com