表格合计行
应用场景
此功能用在为DataGrid添加合计行的功能,合计行不仅仅限于合计功能,还提供计数(count),合计(sum),平均值(average)、最大值(max)、最小值(min)。
属性函数说明
1、summaryRowPosition属性
summaryRowPosition为合计行显示的位置。
名称 取值 备注
summaryRowPosition inner 表示在表格内部,紧随表格行数据
out 表示在表格外部,滚动条移动时依然可视
2、summaryType属性
summaryType为合计类型
名称 取值 备注
summaryType count 计数(总记录数)
sum 合计
average 平均值
max 最大值
min 最小值
需要注意,sum、average、max、min对列的数据类型均有要求,只对int、short、long、float、double的数据类型有效,count对列的数据类型没有要求。
3、summaryRenderer属性
summaryRenderer为指定渲染的函数
名称 参数 备注
summaryRenderer指定的函数 v 当前合计的值
params 单元格的属性,可以设置它的css及提示信息
data 当前合计行的数据信息
使用方法
Web设计器支持表格合计行的功能有限,有些需要手动修改前台页面(xxx.xhtml)。
为DataGrid添加summaryRowPosition属性,summaryRowPosition为合计行显示的位置。
示例:summaryRowPosition=”inner” 或 summaryRowPosition=”out”
为outputColumn添加summaryType属性,summaryType为合计类型,
示例:summaryType=”count”
为outputColumn添加summaryRenderer属性, summaryRenderer为指定渲染的函数(具体可参考DataGridSum.rar中的示例)。
示例:summaryRenderer = “totalCount”
在Head域中添加脚本
<script>
//<![CDATA[
function totalCount(v, params, data) {
params.attr = 'ext:qtip="total count"';
return v? ((v === 0 || v > 1) ? ' 合计:' + v +'' : '合计: ') : '';
}
//]]>
</script>
备注:部分页面代码
<script>
//<![CDATA[
function totalCount(v, params, data) {
params.attr = 'ext:qtip="total count"'; // summary column tooltip example
return v? ((v === 0 || v > 1) ? ' 合计:' + v +'' : '合计: ') : '';
}
//]]>
</script>
<w:dataGrid id="listDataGrid" style="overflow-x:auto;overflow-y:hidden;" height="595"
binding="#{custom.GridSumListUIBean.grid}"
paged="true" rows="10" value="#{custom.GridSumListUIBean.pagedListData}"
var="data" showRowNumber="true" align="left" summaryRowPosition="inner">
<ajax:action actionListener="#{custom.GridSumListUIBean.grid_onselectionchange_actionPerformed}"
rendered="true" immediate="false" event="onselectionchange" />
<w:outputColumn id="idColumn" header="#{extraMsgs['idColumn.header']}" width="100"
value="#{data['id']}" summaryType="sum" summaryRenderer="totalCount" />
<w:outputColumn id="nameColumn" header="#{extraMsgs['nameColumn.header']}" width="100"
value="#{data['name']}" />
<w:outputColumn id="numberColumn" header="#{extraMsgs['numberColumn.header']}" width="100"
value="#{data['number']}" />
<w:outputColumn id="simpleNameColumn" header="#{extraMsgs['simpleNameColumn.header']}" width="100"
value="#{data['simpleName']}" />
<w:outputColumn id="descriptionColumn" header="#{extraMsgs['descriptionColumn.header']}" width="100"
value="#{data['description']}" />
<w:outputColumn id="txtzsColumn" header="#{extraMsgs['txtzsColumn.header']}" width="100"
value="#{data['txtzs']}" summaryType="count" />
<w:outputColumn id="txtxsColumn" header="#{extraMsgs['txtxsColumn.header']}" width="100"
value="#{data['txtxs']}" summaryType="sum" />
<w:outputColumn id="txtslColumn" header="#{extraMsgs['txtslColumn.header']}" width="100"
value="#{data['txtsl']}" summaryType="average" />
<w:outputColumn id="txtjeColumn" header="#{extraMsgs['txtjeColumn.header']}" width="100"
value="#{data['txtje']}" />
<w:outputColumn id="txtsllColumn" header="#{extraMsgs['txtsllColumn.header']}" width="100"
value="#{data['txtsll']}" summaryType="min" />
</w:dataGrid>
应用场景
此功能用在为DataGrid添加合计行的功能,合计行不仅仅限于合计功能,还提供计数(count),合计(sum),平均值(average)、最大值(max)、最小值(min)。
属性函数说明
1、summaryRowPosition属性
summaryRowPosition为合计行显示的位置。
名称 取值 备注
summaryRowPosition inner 表示在表格内部,紧随表格行数据
out 表示在表格外部,滚动条移动时依然可视
2、summaryType属性
summaryType为合计类型
名称 取值 备注
summaryType count 计数(总记录数)
sum 合计
average 平均值
max 最大值
min 最小值
需要注意,sum、average、max、min对列的数据类型均有要求,只对int、short、long、float、double的数据类型有效,count对列的数据类型没有要求。
3、summaryRenderer属性
summaryRenderer为指定渲染的函数
名称 参数 备注
summaryRenderer指定的函数 v 当前合计的值
params 单元格的属性,可以设置它的css及提示信息
data 当前合计行的数据信息
使用方法
Web设计器支持表格合计行的功能有限,有些需要手动修改前台页面(xxx.xhtml)。
为DataGrid添加summaryRowPosition属性,summaryRowPosition为合计行显示的位置。
示例:summaryRowPosition=”inner” 或 summaryRowPosition=”out”
为outputColumn添加summaryType属性,summaryType为合计类型,
示例:summaryType=”count”
为outputColumn添加summaryRenderer属性, summaryRenderer为指定渲染的函数(具体可参考DataGridSum.rar中的示例)。
示例:summaryRenderer = “totalCount”
在Head域中添加脚本
<script>
//<![CDATA[
function totalCount(v, params, data) {
params.attr = 'ext:qtip="total count"';
return v? ((v === 0 || v > 1) ? ' 合计:' + v +'' : '合计: ') : '';
}
//]]>
</script>
备注:部分页面代码
<script>
//<![CDATA[
function totalCount(v, params, data) {
params.attr = 'ext:qtip="total count"'; // summary column tooltip example
return v? ((v === 0 || v > 1) ? ' 合计:' + v +'' : '合计: ') : '';
}
//]]>
</script>
<w:dataGrid id="listDataGrid" style="overflow-x:auto;overflow-y:hidden;" height="595"
binding="#{custom.GridSumListUIBean.grid}"
paged="true" rows="10" value="#{custom.GridSumListUIBean.pagedListData}"
var="data" showRowNumber="true" align="left" summaryRowPosition="inner">
<ajax:action actionListener="#{custom.GridSumListUIBean.grid_onselectionchange_actionPerformed}"
rendered="true" immediate="false" event="onselectionchange" />
<w:outputColumn id="idColumn" header="#{extraMsgs['idColumn.header']}" width="100"
value="#{data['id']}" summaryType="sum" summaryRenderer="totalCount" />
<w:outputColumn id="nameColumn" header="#{extraMsgs['nameColumn.header']}" width="100"
value="#{data['name']}" />
<w:outputColumn id="numberColumn" header="#{extraMsgs['numberColumn.header']}" width="100"
value="#{data['number']}" />
<w:outputColumn id="simpleNameColumn" header="#{extraMsgs['simpleNameColumn.header']}" width="100"
value="#{data['simpleName']}" />
<w:outputColumn id="descriptionColumn" header="#{extraMsgs['descriptionColumn.header']}" width="100"
value="#{data['description']}" />
<w:outputColumn id="txtzsColumn" header="#{extraMsgs['txtzsColumn.header']}" width="100"
value="#{data['txtzs']}" summaryType="count" />
<w:outputColumn id="txtxsColumn" header="#{extraMsgs['txtxsColumn.header']}" width="100"
value="#{data['txtxs']}" summaryType="sum" />
<w:outputColumn id="txtslColumn" header="#{extraMsgs['txtslColumn.header']}" width="100"
value="#{data['txtsl']}" summaryType="average" />
<w:outputColumn id="txtjeColumn" header="#{extraMsgs['txtjeColumn.header']}" width="100"
value="#{data['txtje']}" />
<w:outputColumn id="txtsllColumn" header="#{extraMsgs['txtsllColumn.header']}" width="100"
value="#{data['txtsll']}" summaryType="min" />
</w:dataGrid>