ПРОБЛЕМА: У меня есть сетка кендо, которая имеет 3 слоя группировки.Я хотел бы, чтобы первая группа была расширена, а вторая и третья группы были свернуты.Я пробовал несколько разных способов, но, кажется, не могу сделать эту работу.
@(Html.Kendo().Grid<OfferViewModel>()
.Name("grid")
.Selectable()
.Sortable(sort => sort.AllowUnsort(true).SortMode(GridSortMode.MultipleColumn))
.Filterable(filterable => filterable.Extra(false))
.Scrollable(s => s.Enabled(true))
.Reorderable(reorder => reorder.Columns(true))
.Resizable(resize => resize.Columns(true))
.Columns(c =>
{
...;
})
.Events(e => e.DataBound("OffersDataBound").ExcelExport("OffersExcelExport"))
.NoRecords(n => n.Template("<br><b><font color='red'>NO RECORDS FOUND</font></b>"))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.ServerOperation(true)
.Aggregates(agg =>
{
agg.Add(a => a.CrewsOffered).Sum();
agg.Add(a => a.RequestCrewsRequested).Sum();
agg.Add(a => a.ResourceTypeName).Count();
agg.Add(a => a.RequestRestorationEventName).Count();
})
.Group(grp =>
{
grp.Add(g => g.RequestRestorationEventName);
grp.Add(g => g.ResourceTypeName);
grp.Add(g => g.RequestSourceShortName);
})
.Read(read => read.Action("ReadEventOffers", "Offers", new { id = @Model.RequestRestorationEventId }))
...
)
)
function OffersDataBound() {
resizeOffersGrid();
attachToolTipsToCells('grid');
collapseAllGroups('grid');
}
var collapseAllGroups = function (grid) {
//RequestSourceShortName
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++) {
var test = dataView[i].items[j];
for (var k = 0; k < test.items.length; k++) {
var test2 = test.items[k]
if (test2.field == "RequestSourceShortName") {
var uid = test2.uid;
//var temp = $("#grid").find("tr[data-uid=" + uid + "]")
//debugger
//grid.collapseGroup($("#grid").find("tr[data-uid=" + uid + "]").prev("tr.k-grouping-row"));
var el = $("#grid"),
grid = el.data("kendoGrid"),
row = el.find("tbody>tr[data-uid=" + uid + "]");
console.log(row); //check if the row is found
grid.collapseGroup(row);
}
}
}
}
}
Что мне не хватает?Я должен сделать это в других областях приложения, и у меня могут быть другие группы, которые нужно свернуть.Если у кого-то есть динамическое решение, которое может быть применено к любой группе, это было бы замечательно.Если нет, я не слишком разборчив;)