Rad Telerik GridGroupByExpression не группируется до тех пор, пока я не нажму кнопку сортировки сетки
Вопрос
У меня есть RadGrid с datatable в качестве источника.У меня для AllowCustomPaging установлено значение true.
<telerik:RadGrid runat="server" ID="RadGridSearchResults"
PageSize="50" AllowPaging="true" AllowCustomPaging="true"
OnNeedDataSource="RadGridSearchResults_NeedDataSource" Skin="Default">
<PagerStyle Mode="NextPrevNumericAndAdvanced" />
</telerik:RadGrid>
Код для моего кода, лежащего в основе метода RadGridSearchResults_NeedDataSource, просто заполняет и возвращает datatable следующими столбцами:
dataTableSearchResults.Columns.Add("recipeId", typeof(string));
dataTableSearchResults.Columns.Add("ingredientsIds", typeof(string));
dataTableSearchResults.Columns.Add("country", typeof(string));
dataTableSearchResults.Columns.Add("author", typeof(string));
dataTableSearchResults.Columns.Add("style", typeof(string));
dataTableSearchResults.Columns.Add("friendly", typeof(string));
dataTableSearchResults.Columns.Add("name", typeof(string));
Как только RadGrid привязан к данным, я запускаю следующее:
var expression = GridGroupByExpression.Parse(
"recipeId [Recipe], count(recipeId) ingredientsIds [Ingredients]
Group By recipeId");
this.RadGridSearchResults.MasterTableView.GroupByExpressions.Add(expression);
this.RadGridSearchResults.GroupingEnabled = true;
Я бы ожидал, что тогда мой радгрид будет выглядеть так, как они имейте здесь как только вы нажмете на кнопку "Сгруппировать по выражению":
Вместо этого это выглядит примерно так:
Смотрю только сразу после того, как нажимаю кнопку "Сортировать":
Есть какие-нибудь зацепки?Я даже попытался вызвать сортировку вручную, но это не увенчалось успехом.
Решение
Когда вы добавляете групповое выражение, вызываете ли вы метод Rebind() сетки, чтобы обновить ее состояние?Это необходимо в том случае, если вы применяете группировку из обработчика событий обратной передачи, который неявно повторно привязывает элемент управления.
Член