Events 如何在创建完成事件后定位剑道UI detailGrid

Events 如何在创建完成事件后定位剑道UI detailGrid,events,grid,kendo-ui,Events,Grid,Kendo Ui,我很抱歉问这个问题,因为似乎答案应该是显而易见的,但我找不到 我在细节网格上执行创建操作后处理“完成”事件,因为我希望在插入后刷新网格。但我找不到一个合理的方法。这就是我所做的。我用HTML和JavaScript来完成这一切。初始化细节网格时,I“name:它的'panegrid'后缀是主记录的键。如下所示: function detailInit(e) { if (e.data.Id != '') { // Must be a Create for Lite so don'

我很抱歉问这个问题,因为似乎答案应该是显而易见的,但我找不到

我在细节网格上执行创建操作后处理“完成”事件,因为我希望在插入后刷新网格。但我找不到一个合理的方法。这就是我所做的。我用HTML和JavaScript来完成这一切。初始化细节网格时,I“name:它的'panegrid'后缀是主记录的键。如下所示:

   function detailInit(e) {
       if (e.data.Id != '') { // Must be a Create for Lite so don't create a grid
           $("<div id='panegrid" + e.data.Id + "' />").appendTo(e.detailCell).kendoGrid({
               dataSource: {
这是可行的(IGUnit_Id是主网格的主键),但这样做似乎并不正确。当然,有一些“正确的方法”可以直接从完整事件中找到网格,而无需使用选择器


我感谢您的帮助,并为您提出这样一个愚蠢的问题表示歉意。

如果您想在创建网格时保存对网格的引用,只需为其分配一个变量,并将
.data('kendoGrid')
附加到您的创建表达式中,例如

var myGrid = $("<div id='panegrid" + e.data.Id + "' />").appendTo(e.detailCell).kendoGrid({
    dataSource: {
        // etc...
    }
}).data('kendoGrid');
当然,您不希望它是一个局部变量,您需要将它添加为代码其余部分可见的内容的属性,但我将这个练习留给您

var myGrid = $("<div id='panegrid" + e.data.Id + "' />").appendTo(e.detailCell).kendoGrid({
    dataSource: {
        // etc...
    }
}).data('kendoGrid');
myGrid.dataSource.read();