首页 > 其他分享 >GXT之旅:第五章:高级Components(2)——Grid的高级应用

GXT之旅:第五章:高级Components(2)——Grid的高级应用

时间:2022-12-06 11:05:01浏览次数:42  
标签:column 高级 totals GXT Grid new AggregationRowConfig columns


Grid的高级应用

之前,我们学习的都是Grid的基本功能。事实上,Grids提供了丰富的功能,下面就让我们了解一下。

HeaderGroupConfig

假设我们想比较欧洲东部在1950和2000年之间的人口数,通常的显示效果如下:



但是我们想让表格更直观的显示,如下:

这时我们就需要对GXT Grid有如下步骤的加工:

  • 针对每一列,新建ColumnConfig
  • 将所有的ColumnConfigs放入一个list
  • 通过list生成ColumnModel
final List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
ColumnConfig column = new ColumnConfig("countryName",
"Country",100);
columns.add(column);
column = new ColumnConfig("population1950", "1950",130);
columns.add(column);
column = new ColumnConfig("population2000", "2000",130);
columns.add(column);
final ColumnModel columnModel = new ColumnModel(columns);
  • 上述的代码,所呈现出的Grid如下:
  • 如果希望将后面两列分组一组,我们就需要使用到HeaderGroupConfig
HeaderGroupConfig headerGroupConfig = new HeaderGroupConfig(
"Population (000's)", 1, 2);
  • 第一个参数是title,第二和第三个参数分别是合并后的行数和合并后的列数。
  • 将headerGroupConfig add在ColumnModel里。并指明行号和起始的列号
columnModel.addHeaderGroup(0, 1, headerGroupConfig););
  • 执行后的效果如下:



AggregationRowConfig

使用AggregationRowConfig,可以创建统计行,用来针对某些列的统计数据。


SummaryType是用来设置其统计数据的算法:

  • SummaryType.SUM
  • SummaryType.AVG
  • SummaryType.MIN
  • SummaryType.MAX
  • SummaryType.COUNT

如果我们想实现上图的效果,我们应该实现的代码如下:

  • 新建AggregationRowConfig,
AggregationRowConfig<Statistic>> totals = new AggregationRowConfig
<Statistic>();
  • 通过setHtml方法,设置该行的题头
totals.setHtml("countryName", "Total");
  • 针对与要统计的列,我们需要设置其统计算法。
totals.setSummaryType("population1950", SummaryType.SUM);
totals.setSummaryType("population2000", SummaryType.SUM);
  • 对于要统计的列,为了显示的需要,要设置NumberFormat(com.google.gwt.i18n.client.NumberFormat)。当然也可以通过AggregationRenderer.实现,但是不管怎样,都需要使用其中一种方法,否则,会空白显示
totals.setSummaryFormat("population1950", NumberFormat.
getDecimalFormat());
totals.setSummaryFormat("population2000", NumberFormat.
getDecimalFormat());
  • 同样的,AggregationRowConfig实例需要被添加到columnModel里
columnModel.addAggregationRow(totals);




标签:column,高级,totals,GXT,Grid,new,AggregationRowConfig,columns
From: https://blog.51cto.com/u_15903664/5915159

相关文章

  • GXT之旅:第五章:高级Components(3)——Paging
    PagingPaging是GXT提供的非常有用的功能。顾名思义,就是分页显示数据,而不是一页显示所有的数据。GXT支持远程和本地的分页:远程分页就是真分页,每次server端返回数据都是数据库......
  • GXT之旅:第七章:MVC——标准的MVC与GXT MVC
    第七章:ModelViewController本章我们要了解GXT的MVC架构,以及学习他们在一个大型的应用系统里是如何系统工作的我们会涉及到如下GXt功能集AppEventEventTypeControllerView......
  • 高级语言程序设计(c语言版)
    高级语言程序设计(c语言版)  ——基于计算思维能力培养作者:揭安全出版社:人民邮电出版社 一、程序设计引论1.1计算科学与问题求解1.2程序与程序设计1.3程序......
  • 10个中级到高级的SQL概念
    随着数据量持续增长,对合格数据专业人员的需求也会增长。具体而言,对SQL流利的专业人士的需求日益增长,而不仅仅是在初级层面。因此,Stratascratch的创始人NathanRosidi以及我......
  • wpf GridControl
    TheWPFDataGrid(GridControl)isadata-awarecontroldesignedtodisplayandeditdataindifferentlayouts:tabular,treelike,andcard.TheGridControlal......
  • C# DataGrid动态隐藏显示行
    前端代码:<Windowx:Class="DataGridPractice.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schem......
  • 《重构》、《js高级程序设计》一些笔记知识点
    《重构(第2版):改善既有代码的设计》1.函数命名:以它“做什么”来命名,而不是以它“怎么做”来命名。 一个改进函数名字的好方法:先写一句注释描述这个函数的用途,再把这......
  • [ABC280G] Do Use Hexagon Grid 2
    ProblemStatementAhexagonalcellisrepresentedas$(i,j)$withtwointegers$i$and$j$.Cell$(i,j)$isadjacenttothefollowingsixcells:$(i-1,j-1)$......
  • SQL高级教程
    1、selectTOPselecttop子句用于规定要返回的记录的数目。对拥有数千条记录的大型表来说,是非常有用的。注意:并非所有的数据库系统都支持selecttop语句。MySQL支持limi......
  • [转]【读书笔记】.Net并行编程高级教程--Parallel - stoneniqiu - 博客园
    一直觉得自己对并发了解不够深入,特别是看了《代码整洁之道》觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准。而且在《失控》这本书中也多次提到并发,......