繁体   English   中英

剑道ui网格刷新网格后展开detailini行

[英]Kendo ui grid expand detailini row after refreshing the grid

我知道这个问题已经发布了几次,我一直在阅读这些解决方案,但我需要一些帮助来弄清楚我错过了什么。

我想要的是主网格在 READ 调用后扩展最后展开的行,所以我已经阅读了这个这个,但似乎没有任何效果,我的代码是这样的:

detailExpand: function (e) 
{
  var grid = $("#gridTimesheets").data("kendoGrid");
  expandedRowUid = e.masterRow.data('uid');
}

然后在我的主数据绑定功能上,我有这个:

dataBound: function(e) 
{
  this.expandRow($('tr[data-uid=' + expandedRowUid + ']'));
}

刷新后似乎扩展行的唯一事情是:

this.expandRow(this.tbody.find("tr.k-master-row"));

但它扩展了所有行,我只想要 READ 方法之前的最后一行。

我在这里缺少什么?

请注意,无论何时呈现数据,都将重新创建所有uid 因此,您无法存储旧的 uid,因为它将丢失。 我建议您存储行索引:

detailInit: function(e) {
    $(e.detailCell).text("inner content");
    lastRowIndex = $(e.masterRow).index(".k-master-row");
}

然后在dataBound按索引查找行:

dataBound: function() {
    var row = $(this.tbody).find("tr.k-master-row:eq(" + lastRowIndex + ")");
    this.expandRow(row);
}

演示版

添加 javascript 函数以在 DataBound 函数上展开按钮

 function dataBound() {
    this.tbody.find("tr.k-master-row td a.k-i-expand").attr('onclick','SetWidthOnExpand()')
}

 function SetWidthOnExpand() {
   setTimeout(function () {
        $('.k-header').removeAttr('style');
        $('.k-selectable tbody tr td').removeAttr('style');
    },1000)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM