Jquery 如何按行中的值以编程方式折叠或展开剑道网格组

Jquery 如何按行中的值以编程方式折叠或展开剑道网格组,jquery,asp.net-mvc,kendo-ui,kendo-grid,Jquery,Asp.net Mvc,Kendo Ui,Kendo Grid,我需要将分组网格默认为折叠状态,除非它包含具有特定值的行(Status==“Closed”) 我走了这么远,但失败了,因为dataView只包含分组字段的行数组,而不是我以前看到的行 function collapse_rows() { var grid = this.grid; var dataView = this.dataSource.view(); for (var i = 0; i < dataView.length; i++

我需要将分组网格默认为折叠状态,除非它包含具有特定值的行(Status==“Closed”)

我走了这么远,但失败了,因为dataView只包含分组字段的行数组,而不是我以前看到的行

  function collapse_rows() {
        var grid = this.grid;
        var dataView = this.dataSource.view();

        for (var i = 0; i < dataView.length; i++) {
            if (dataView[i].status == "Closed") {
                var uid = dataView[i].uid;
                $("#userQuestionSetGrid tbody").find("tr[data-uid=" + uid + "]").
                closest("tr.k-grouping-row").each(
                  function (e) {
                      e.collapseRow(this);
                  });

            } else {
                var uid = dataView[i].uid;
                $("#userQuestionSetGrid tbody").find("tr[data-uid=" + uid + "]").
                closest("tr.k-grouping-row").each(
                    function (e) {
                        //e.collapseRow(this);
                    });
            }
        }
    }
函数折叠_行(){
var grid=this.grid;
var dataView=this.dataSource.view();
对于(var i=0;i
数据源的第一级是组。然后每个组都有一个名为items的属性,它实际上是组中的行。所以试试这个:

  var grid = $("#grid").data("kendoGrid");
  var dataView = grid.dataSource.view();

   for (var i = 0; i < dataView.length; i++) {
      for ( var j = 0; j < dataView[i].items.length; j++) {        
        if (dataView[i].items[j].status == "Closed") {
          var uid = dataView[i].items[j].uid;
          grid.collapseGroup($("#grid").find("tr[data-uid=" + uid + "]").prev("tr.k-grouping-row"));
        }
      }
   }
var grid=$(“#grid”).data(“kendoGrid”);
var dataView=grid.dataSource.view();
对于(var i=0;i
分组行与常规行处于相同的DOM级别,因此需要使用prev()而不是closest()


数据源的第一级是组。然后每个组都有一个名为items的属性,它实际上是组中的行。所以试试这个:

  var grid = $("#grid").data("kendoGrid");
  var dataView = grid.dataSource.view();

   for (var i = 0; i < dataView.length; i++) {
      for ( var j = 0; j < dataView[i].items.length; j++) {        
        if (dataView[i].items[j].status == "Closed") {
          var uid = dataView[i].items[j].uid;
          grid.collapseGroup($("#grid").find("tr[data-uid=" + uid + "]").prev("tr.k-grouping-row"));
        }
      }
   }
var grid=$(“#grid”).data(“kendoGrid”);
var dataView=grid.dataSource.view();
对于(var i=0;i
分组行与常规行处于相同的DOM级别,因此需要使用prev()而不是closest()