Javascript 数据绑定后保持剑道细节网格展开

Javascript 数据绑定后保持剑道细节网格展开,javascript,data-binding,kendo-ui,grid,detail,Javascript,Data Binding,Kendo Ui,Grid,Detail,这是我当前的网格和detailExpand/Databind。您将看到我试图获取uid,然后在触发数据绑定后展开该行。expandedRowUid控制台日志未定义。请有人帮我正确获取uid或提供替代解决方案,以便在触发数据绑定后,细节网格不会折叠或在数据绑定后再次展开 function teacherHierarchyGrid() { $("#teacherGrid").kendoGrid({ detailInit: detailInit,

这是我当前的网格和detailExpand/Databind。您将看到我试图获取uid,然后在触发数据绑定后展开该行。expandedRowUid控制台日志未定义。请有人帮我正确获取uid或提供替代解决方案,以便在触发数据绑定后,细节网格不会折叠或在数据绑定后再次展开

   function teacherHierarchyGrid() {
       $("#teacherGrid").kendoGrid({
           detailInit: detailInit,
           selectable: true,
           dataBound: function () {
             console.log("Bind occured")
             this.expandRow($('tr[data-uid=' + expandedRowUid + ']'));
           },
          detailExpand: function (e)
             expandedRowUid = e.masterRow.data('uid');
             console.log(expandedRowUid)
         },
     })
  }
**编辑**新代码仍不工作

    var expandedRow;
    function teacherHierarchyGrid() {
        $("#teacherGrid").kendoGrid({
            detailInit: detailInit,
            selectable: true,
            autoBind: false,
            dataBound: function(e){
                 if (expandedRow) {
                     console.log(expandedRow);
                     e.sender.expandRow($('tr[data-uid=' + expandedRow + ']'));
            }
          },
            detailExpand: function (e) {
                 expandedRow = e.sender.dataItem(e.masterRow).uid;
          },
      })
   }

首先,由于detailExpand函数中缺少{},它可能未定义日志:

detailExpand: function (e) {
             expandedRowUid = e.masterRow.data('uid');
             console.log(expandedRowUid);
             }
第二,在dataBound函数中,您在
console.log(“Bind-occured”)之后缺少分号


第三,在重新创建行之后,与行关联的uid可能不相同:在数据绑定之后,同一行可能具有不同的uid,因为它是由小部件生成的。尝试引用要展开的行,直到数据项Id为。

仍不展开该行。我确实注意到dataBind事件被触发了两次,所以我确保将autoBind设置为false。我为我的错误道歉:第三点不是真的,通过这个关键字你实际上选择了网格小部件。问题是,在重新创建行之后,uid可能不相同:在数据绑定之后,同一行可能具有不同的uid。请尝试引用要展开的行。如果您提供的代码是您定义的数据源,我可以进一步帮助您。是否要自动展开所有详细信息行?如果是,,