如何确保可以每次调用剑道网格detailInit

问题描述 投票:0回答:1

我有一个使用detailInit的kendo网格,当您选择一行时,它只会被调用一次,如果您重新选择该行,它将不会再次触发。我的问题是我需要每次都启动detailInit,因为其中有一个网格,每次查看服务器时都需要调用该服务器,因此数据是最新的。

我想到的一种方法是只使用全局变量作为对象,并在触发detailInit时传递masterrow的id,然后检查change事件上的全局变量以查看该行是否已被打开,以及如果已调用服务器。但是我不确定这是否是最好的方法...

任何主意吗?

jquery kendo-grid
1个回答
0
投票

detailExpand上,您可以更改detailRow数据源(在重新打开时:)>

$("#grid").kendoGrid({
  columns: [
    { field: "name" }
  ],
  dataSource: [
    {
      name: "Beverages"
    },
    {
      name: "Food",
      products: [
        { name: "Ham" },
        { name: "Bread" }
      ]
    }
  ],
  detailTemplate: 'Products: <div class="grid"></div>',
  detailExpand: function(e) {
    console.log("expand: ", e)
    e.detailRow.find(".grid").kendoGrid({
      dataSource: [
        { name: "Tea" },
        { name: "Coffee" }
      ]
    });
  }
});

示例:Detail row dataSource

© www.soinside.com 2019 - 2024. All rights reserved.