Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Telerik MVC网格中展开/折叠DetailView_Javascript_Jquery_Asp.net Mvc 3_Telerik_Telerik Mvc - Fatal编程技术网

Javascript 在Telerik MVC网格中展开/折叠DetailView

Javascript 在Telerik MVC网格中展开/折叠DetailView,javascript,jquery,asp.net-mvc-3,telerik,telerik-mvc,Javascript,Jquery,Asp.net Mvc 3,Telerik,Telerik Mvc,我试图在扩展其中一行时强制javascript折叠所有其他行,我只想一次扩展一行。我对javascript相当陌生,所以我希望任何人都能给我指出正确的方向 我查看了我发现的这个示例,但出于某种原因,我的代码没有折叠行: 我不应该像在javascript中那样折叠索引吗 MVC Razor视图中的我的Telerik网格: <div> @(Html.Telerik().Grid<RentableUnit>() .Name("RentableUnits"

我试图在扩展其中一行时强制javascript折叠所有其他行,我只想一次扩展一行。我对javascript相当陌生,所以我希望任何人都能给我指出正确的方向

我查看了我发现的这个示例,但出于某种原因,我的代码没有折叠行:

我不应该像在javascript中那样折叠索引吗

MVC Razor视图中的我的Telerik网格:

<div>
@(Html.Telerik().Grid<RentableUnit>()
           .Name("RentableUnits")
           .Columns(columns =>
                        {
                            columns.Bound(e => e.UnitID).Hidden();
                            columns.Bound(e => e.Name).Width(800);
                            columns.Bound(e => e.IsExpanded).Hidden();
                        })
           .ClientEvents(events => events.OnRowDataBound("employees_onRowDataBound")
                                       .OnDetailViewExpand("unit_onDetailViewExpand")
                                       .OnDetailViewCollapse("unit_onDetailViewCollapse")
                                       .OnDetailViewExpand("toggleDetail")
                                       )
           .DetailView(details => details.ClientTemplate(
               //stuff in template
           )
    .DataBinding(dataBinding => dataBinding.Ajax().Select("RentableUnits", "Home"))
    .Sortable()
)
</div>
    function toggleDetail(e) {
        var grid = $(this).data('tGrid');
        grid.$rows().each(function (index) {
            //TODO: exclude the expanded row
            grid.collapseRow(index); //doesn´t collapse!
    });
}

这将实现以下目的:

function toggleDetail(e){

  var grid = $(this).data('tGrid');
  grid.$rows().not(e.masterRow).each(function(index, row){
    grid.collapseRow(row);
  });
}

请注意,您为OnDetailViewExpand事件定义了两个处理程序。

Wow!谢谢你@Rustam,你成功了!你为我省去了很多麻烦:)(顺便说一句,出于某种原因,我没有注意到我对那个事件定义了两次)