PB开发系统实用工具2-数据汇总功能
用户很多时候需要对查询出来的数据做小范围数据汇总,这时候Excel的数据透视功能优势就出来了,本文利用PB自建一个类似的数据透视功能。
1,新建个弹出型窗口,放入三个数据窗口控件,具体如图
2,实现方法,将调用它的数据窗口所有数据列(计算列暂不支持)分成两类,一类为非数值型字段(分组栏位),一类为数值型字段(汇总栏位),当用户选好需要汇总的分组栏位和汇总栏位后,系统将按选择条件自动汇总。
3,实现代码,
一,装载左边两个类型的字段名
//==============================================================================
// 事件: ue_populate()
//------------------------------------------------------------------------------
// 描述:
//------------------------------------------------------------------------------
// 参数:
// value u_dw adw_group
//------------------------------------------------------------------------------
// 返回值:
//------------------------------------------------------------------------------
// 作者: zzx 日期: 2018.01.19
//==============================================================================
String ls_column,ls_coltext,ls_coltype
Int li_column,i,li_row,li_cross
If adw_group.Object.datawindow.Processing = '4' Then
adw_group.Modify('datawindow.crosstab.staticmode=no')
End If
li_column = Integer(adw_group.Object.datawindow.column.count)
If adw_group.Object.datawindow.Processing = '4' Then
adw_group.Modify('datawindow.crosstab.staticmode=yes')
li_cross = Integer(adw_group.Object.datawindow.column.count)
Else
li_cross = 0
End If
For i = 1 To li_column
ls_column = adw_group.Describe("#"+String(i)+".name")
If Lower(adw_group.Describe(ls_column + "_t.Type")) = 'text' Then
ls_coltext = adw_group.Describe(ls_column + "_t.text")
zzxing: 需要做过滤的数据窗口(调用这个对象的数据窗口)
大橙子哟哟: 请教一下,of_set_data()函数里的dw_filter指的是哪个窗口?
盼盼编程: 学到了,收藏一波~欢迎一起交流!