pivotGrid组件为一个二维数据统计表格组件,主要对数据按类型进行统计展现
表 30.115. 构件信息
| Component Type | org.operamasks.faces.component.grid.impl.UIPivotGrid |
| Component Family | org.operamasks.faces.component.grid.impl.UIPivotGrid |
| Component Class | org.operamasks.faces.component.grid.impl.UIPivotGrid |
| Tag Class | org.operamasks.faces.webapp.grid.UIPivotGridTag |
| Renderer Type | org.operamasks.faces.component.grid.impl.UIPivotGrid |
| Renderer Class(AJAX) | org.operamasks.faces.render.widget.ajax.AjaxPivotGridRenderer |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.grid.UIPivotGridBase
+++++org.operamasks.faces.component.grid.impl.UIPivotGrid
表 30.116. 属性
| aggregator | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| The aggregation function to use to combine the measures extracted for each dimension combination. Can be any of the built-in aggregators (sum, count, avg, min, max). Can also be a function which accepts two arguments (an array of Records to aggregate, and the measure to aggregate them on) and should return a String. | ||||
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| cellClientJs | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 定制每个单元格的内容,可以自定义js代码控制 | ||||
| columnModel | 定义类 | |||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.grid.GridColumnModel) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| pivotGrid的GridColumnModel,用于进行列的相关属性的配置 | ||||
| first | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(int) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 起始数据的行号 | ||||
| firstCellTitle | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 第一个单元格的内容 | ||||
| first_set | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| height | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 表格的高度 | ||||
| honorViewState | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| ajax交互时是否传递ViewState. 取值为true时(默认为false),dataGrid的ajax交互传递ViewState,为false时不传递(默认不传递) | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| idColumn | 定义类 | |||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| pivotGrid的id列,是所有pivotGrid的列中可以作为唯一标示符的一列的id | ||||
| keepLastParams | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 构件的取数请求是否保留上次请求参数 | ||||
| measure | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 处理的数据对象 | ||||
| remoteSort | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 是否进行服务端排序 | ||||
| renderTo | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| render到dom对象的ID | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| rows | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(int) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 每页显示的数据条数, 当paged属性为true即开启分页功能的时候才起作用 | ||||
| rows_set | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| title | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 标题,如果设置为空将不能显示panel头 | ||||
| value | 定义类 | org.operamasks.faces.component.grid.impl.UIPivotGrid | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| dataGrid的数据。默认支持的类型可以是对象数组,java.util.List,javax.faces.model.DataModel,java.sql.ResultSet,java.util.Collection(用户应自行保证使用有序的Collection实现,否则翻页时可能会出现乱序问题)。但通过指定自定义的dataProvider,可以支持其他类型。 | ||||
下面是一个简单的二维统计表代码
//----------------xhtml页面---------------------------------------
<w:pivotGrid id="test" title="用户收入统计表" aggregator="sum" measure="incoming" firstCellTitle="性别和支出" height="350">
<w:pivotColumn type="leftAxis" value="sex" width="150"/>
<w:pivotColumn type="leftAxis" value="outcoming" width="150"/>
<w:pivotColumn type="topAxis" value="age"></w:pivotColumn>
</w:pivotGrid>
//---------------------------------liteBean------------------------
@Bind(id="test")
public List<UserEntity> getList()
{
return companys;
}
private List<UserEntity> companys = new ArrayList<UserEntity>(Arrays.asList(new UserEntity[]{
new UserEntity("luoyg","湖南","男",30,3000,4000),
new UserEntity("chenjie","湖北","男",20,8000,4000),
new UserEntity("zhoufazhi","湖北","男",28,12000,7000),
new UserEntity("zhangsan","贵州","女",20,12000,7000),
new UserEntity("lili","北京","女",28,12000,7000),
new UserEntity("liyingying","江苏","女",28,12000,7000)
}));
//---------------------------------UserEntity类------------------------
UserEntity就省略啦,下面是它的字段
private String name;
private String address;
private String sex;
private Integer age;
private Integer incoming;
private Integer outcoming;