Javascript 在Telerik MVC网格中展开/折叠DetailView
我试图在扩展其中一行时强制javascript折叠所有其他行,我只想一次扩展一行。我对javascript相当陌生,所以我希望任何人都能给我指出正确的方向 我查看了我发现的这个示例,但出于某种原因,我的代码没有折叠行: 我不应该像在javascript中那样折叠索引吗 MVC Razor视图中的我的Telerik网格: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"
<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,你成功了!你为我省去了很多麻烦:)(顺便说一句,出于某种原因,我没有注意到我对那个事件定义了两次)