#c# #.net #extjs #ext.net
#c# #.net #extjs #ext.net
Вопрос:
Я создаю приложение, которое отображает некоторые результаты в виде таблицы. Сетка создается динамически, в коде C #, лежащем в основе. Я использую следующий код для отображения группировки в сетке. Но я также хотел бы иметь сводную строку. Я пробовал это с помощью плагина, но, похоже, это не работает.
private GroupingView group = new GroupingView();
group.ID = "gv1";
group.HideGroupedColumn = true;
group.GroupTextTpl = "{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})";
group.EnableRowBody = true;
GridPanelResults.View.Add(group);
GroupingSummary gsPlugin = new GroupingSummary();
GridPanelResults.Plugins.Add(gsPlugin);
Это сводная строка, которая мне нужна
http://examples.ext.net/#/GridPanel /…Итоговый результат/
Есть идеи?
Ответ №1:
Моя идея: вы должны установить SummaryType или CustomSummaryType для столбцов в вашей сетке. CustomSummaryType — это код JavaScript, который будет вычислять сводку. SummaryType — это стандартная функция вычисления.
Если вы выберете CustomSummaryType, вам нужно будет добавить вычисления (набор функций JS) для GroupingSummary.
Комментарии:
1. Спасибо! я создаю сетку динамически, добавляя объекты ColumnBase в columnModel. Таким образом, у них нет сводного типа
2. Попробуйте использовать GroupingSummaryColumn:
var column = new GroupingSummaryColumn { SummaryType = SummaryType.Count }; grid.ColumnModel.Columns.Add(column);
3. Если вы не смогли использовать GroupingSummaryColumn — вы можете добавить пользовательскую конфигурацию в ColumnBase.
var columnBase = new Column(); (columnBase as ColumnBase).CustomConfig.Add(new ConfigItem("summaryType", "max"));
. Стандартными функциями являются «max», «sum», «average», «count».