Сводная строка для динамической EXT.NET Панель сетки

#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».