pb中交叉报表如何得到列数?

libolibo888 2009-11-13 04:04:15
pb中交叉报表如何得到列数?
...全文
381 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
svbzero 2009-11-18
  • 打赏
  • 举报
回复
学习了
jlwei888 2009-11-14
  • 打赏
  • 举报
回复

dw_1.object.datawindow.Crosstab.Columns

string类型,指明交叉表顶部显示的列,列名之间使用逗号或Tab字符分隔
newease 2009-11-14
  • 打赏
  • 举报
回复
获取数据窗口所有对象,然后判断是否是字段,可以取得列名和字段信息,然后进行统计

下面是部分代码可供参考
ls_objects = trim(adw.Describe('datawindow.Objects'))
list=ls_objects
EndPos = pos(list, '~t', StartPos)
//得到对象列表
Do while ( EndPos > 0 )
token[i] = Mid(list, StartPos, EndPos - StartPos)
i ++
StartPos = EndPos + 1
EndPos = pos(list, '~t', StartPos)
LOOP
token[i] = Mid(list, StartPos)
ll_rownum=UpperBound(token)

for i=1 to ll_rownum
ls_obj = token[i]
if ls_obj='title' then messagebox('',adw.Describe(ls_obj + '.type'))
if lower(adw.Describe(ls_obj + '.type')) = 'column' or &
lower(adw.Describe(ls_obj + '.type')) = 'compute' then
ls_bind=lower(adw.Describe(ls_obj + '.band'))
if ls_bind = 'detail' then
ll_num += 1
ls_objs[ll_num] = ls_obj
if li_crosstab=0 then //一般处理
ls_objtag[ll_num] = adw.Describe(ls_obj + '_t.text')
elseif li_crosstab=1 then //交叉表处理
li_pos=lu_string.of_lastpos(ls_obj,'_',len(ls_obj))//找出最后一次出现'_'的位置
if li_pos=0 or (not isnumber(mid(ls_obj,li_pos+1))) then //不是交叉列
ls_objtag[ll_num] = adw.Describe(ls_obj + '_t.text')
else
ls_temp=mid(ls_obj,li_pos)
ls_crosstabcol=mid(ls_obj,1,li_pos - 1)//取出交叉列名
// messagebox('',ls_crosstabcol+',,,,'+ls_temp)
ls_objtag[ll_num]=adw.Describe( ls_crosstabcol + "_t"+ls_temp+".Text" )//取出交叉表的题头
end if
end if
next
fuxiaoyang13 2009-11-14
  • 打赏
  • 举报
回复
学习学习!!!!
永生天地 2009-11-13
  • 打赏
  • 举报
回复
这出来时静态
[Quote=引用 1 楼 jlwei888 的回复:]
dw_1.object.datawindow.column.count
[/Quote]
libolibo888 2009-11-13
  • 打赏
  • 举报
回复
不对,是交叉报表,你看错了吧?
jlwei888 2009-11-13
  • 打赏
  • 举报
回复
dw_1.object.datawindow.column.count
补丁下载(1.15M): http://u.115.com/file/f8f8e7d9fa# Ver2.45.407 重大功能完善: 1.当计算公式出错导致生成报表失败,退出调用AC Report的程序时发生内存错误。 2.含有子报表且子报表数大于主报表,不能导出到Excel的问题。 3.和Skin皮肤控件冲突的问题(主要是导出Excel后报错)。 4.进一步完善导出Excel的算法,将多个页面格式迥异的报表导出在一个Sheet上时,改进了算法,使得在Excel所需的数量和宽度计算精确度更高,真正做到无失真导出,容错性更好,对于任何复杂的报表,都可以正确导出 Ver2.45主要变动 1.修正了独立子报表(未嵌入到所属页面的子报表)预览后退出程序时,发生内存泄漏的bug。 2.图片单元格支持在公式设置URL链接地址。 3.Cell()函数空值处理。 4.界面修改。 5.修正VCL控件和demo编译出错的问题 ACReport简介 Anycell Report(简称AC Report)是一款国式报表组件,是国内最早的基于表格,支持图文混排、公式和脚本的国式报表工具之一。就如Anycell Report的名称那样,灵活强大的表格功能一直是AC Report区别于其它软件或控件最显著的特征之一,AC Report 表格取消了传统表格概念”的概念,每一行上的单元格数量可以不等,且可以自由活动,勿须上下对齐,在制作复杂的国式报表时可以避免很多不必要的合并拆分操作,制作表格更加方便和随心所欲,并且省时省力。AC Report单元格支持多种丰富的形态,例如格式化文本、图片、图表、条码、OLE容器等。 AC Report的一些基本特点: 1.独具特色的表格,风格与Word表格相似,但可以做出比Word或Excel更灵活的表格来。 2. 功能全面、专业的国式报表设计器,国用户更易于学习和接受。 3.支持多种单元格样式,可以打印图像、图表(直方图、折线图等)、Rich文本、 条形码、式财务帐薄、支持在报表嵌入Word、Excel文档等。 4. 强大的计算和合计功能。内置表达式解析系统和函数库。 5. 可扩充性,可以在应用程序报表引擎扩充函数库、报表样式和单元格样式。 6.支持多种报表样式,如清单式、分组、交叉表、以及子报表等。 7. 支持多栏式报表。 8. 和应用程序完美结合,支持windows下所有的开发工具和程序语言(例如Delphi、C++、VB、PB、.NET、易语言),最终用户在设计器里可直接选择打印字段,生成表达式,报表设计器用户容易学习理解。 9. 支持脚本和窗体编程,报表设计人员可以编写脚本、在报表设计器里为报表添加窗体,为最终用户提供更丰富的交互功能。 10. 既可以使用应用程序的数据集,也支持在报表直接连接各种数据库,通过SQL直接获得报表需要的数据。 11.无失真导出为Excel、Word、Html格式的文档
Anycell Report(简称AC Report)是一款国式报表组件,是国内最早的基于表格,支持图文混排、公式和脚本的国式报表工具之一。就如Anycell Report的名称那样,灵活强大的表格功能一直是AC Report区别于其它软件或控件最显著的特征之一,AC Report 表格取消了传统表格概念”的概念,每一行上的单元格数量可以不等,且可以自由活动,调整某行上单元格的宽度时,不影响其它行的单元格。在制作复杂的国式报表时可以避免很多不必要的合并拆分操作,制作表格更加方便和随心所欲,并且省时省力。AC Report单元格支持多种丰富的形态,例如格式化文本、图片、图表、条码、OLE容器等。   AC Report的一些基本特点:   1.独具特色的表格,风格与Word表格相似,但可以做出比Word或Excel更灵活的表格来。   2. 功能全面、专业的国式报表设计器,国用户更易于学习和接受。   3.支持多种单元格样式,可以打印图像、图表(直方图、折线图等)、Rich文本、条形码、式财务帐薄、支持在报表嵌入Word、Excel文档等。   4. 强大的计算和合计功能。内置表达式解析系统和函数库。   5. 可扩充性,可以在应用程序报表引擎扩充函数库、报表样式和单元格样式。   6.支持多种报表样式,如清单式、分组、交叉表、以及子报表等。   7. 支持多栏式报表。   8. 和应用程序完美结合,支持windows下所有的开发工具和程序语言(例如Delphi、C++、VB、PB、.NET、易语言),最终用户在设计器里可直接选择打印字段,生成表达式,报表设计器用户容易学习理解。   9. 支持脚本和窗体编程,报表设计人员可以编写脚本、在报表设计器里为报表添加窗体,为最终用户提供更丰富的交互功能。   10. 既可以使用应用程序的数据集,也支持在报表直接连接各种数据库,通过SQL直接获得报表需要的数据。   11.无失真导出为Excel、Word、Html格式的文档。   Ver2.45.008 bug修正:   1.当计算公式出错导致生成报表失败,退出调用AC Report的程序时发生内存错误。   2.含有子报表且子报表数大于主报表,不能导出到Excel的问题。   3.和Skin皮肤控件冲突的问题(主要是导出Excel后报错)。   Ver2.45主要变动1.修正了独立子报表(未嵌入到所属页面的子报表)预览后退出程序时,发生内存泄漏的bug。   2.图片单元格支持在公式设置URL链接地址。   3.导出Excel功能改进。   4.Cell()函数空值处理。   5.界面修改。   6.修正VCL控件和demo编译出错的问题。   Ver 2.4 主要变动:   1.可拖动对象功能增强(现在AC不仅可以支持强大的表格功能,也可以使用AC Report 像传统的报表工具例如FastReport或水晶报表那样设计报表了)。   2.在新建页面时,增加了“数据模块”类型,用来存放报表的数据控件,更方便模板的管理。   3.对话框(Form)功能增强。   4.支持双面打印。   5.其它:   财务帐薄支持套打。   单元格支持批量拖动。   设计器界面优化。   相关bug修正。   新功能相关的Demo。   Ver2.45主要变动:   1.修正了独立子报表内存泄漏的bug。   2.图片单元格支持在公式设置URL链接地址。   3.导出Excel功能改进。   4.Cell()函数空值处理。   5.界面修改。   6.修正VCL控件和demo编译出错的问题。   安装包含使用和开发接口文档,及Delphi、VB、VC++、C#.net、VB.net和WEB下的demo。
咖啡智能报表控件 2.0[下载地址] 咖啡智能报表组件是一个类似Excel风格的报表组件 1、操作风格与EXCEL类似,是一款表格型报表组件,功能强大、操作简单 2、灵活多样性的单元格属性 合并、拆分、对齐方式、背景、前景、边框、前缀、后缀、格式化、套打标志、数字大写显示、多种数据类型、 数据长度设定、多种单元格类型、超级链接、EMAIL链接、特殊字符前缀、回车换行、自动换行、锁定、焦点、 绑定变量名称、绑定数据字段名称、显示图片、内容隐藏、项目格式等 3、强大公式计算功能 4、图片显示功能,图片可以随网格大小而变动,也可以固定大小 5、画线功能,线可以随单元格大小变动而变动,也可以固定大小 6、图标功能,多种类型图标(平面、3D的方形图、柱形图、饼图、线形图、雷达图、堆栈图), 可以水平显示或垂直显示;饼图可以把柄切开提取显示 7、画笔功能;报表提供了画笔功能,可以批示报表,重点圈画报表。 8、多表单,一个报表可以有多个表单,理论上没有多少限制,表单TAB标签可以显示或隐藏,也可以显示或隐藏其一个。 9、灵活的键盘、鼠标操作功能;可以设置多样化的回车键操作,例如回车在单元格内数据换行、移到左单元格、移到下单元格等。 10、灵活的数据输出功能,可以输出多种格式的TXT文件、HTML文件。在输出HTML文件时连同图片一起输出。 11、数据搜索功能,按或行搜索指定的数据 12、表单:背景颜色、背景图片、网格颜色、隐藏网格、奇偶行颜色、当前行颜色、设置标题、格式刷, 根据变量设置单元格内容、根据单元格字段设置内容等。 13、灵活的打印功能;设置行打印分割线、打印分割线、页眉、页脚、背景图片文字、 套打、浅色打印、水平居、垂直居等;页眉、页脚分左、、右三部分,可以设置图片等各种属性 14、强大的一维条码(CODE11、CODE39、CODE93、CODE128A、CODE128B、CODE128C、CODE128、CODABAR、 EAN8、EAN13、INTERLEAVED25、JAN、MSI、STANDARD25、UPCA、UPCE)、二维条码(QR码、PDF417码)功能 15、各种报表事件,500多个报表接口 16、智能: 组件的智能性体现在除了大量功能函数外,数据绑定包含各种数据库的绑定(oracle、DB2、MS SQL、ACCESS等)、 文本文件数据绑定,数据源没有个数限制,可以添加多个数据源进行数据显示,咖啡智能报表不是简单的进行数据填充显示, 具有强大的数据处理能力,例如:数据格式自动处理,根据数据自动分组统计,复杂交叉报表处理提供了数据自动分组归类、 分组统计、总计、行分组统计、行总计等功能,根据定义的函数(求和、最大值、最小值、平均值、个数、排序值) 计算出相应的数值,在数据处理根据数据所属数据范围自动求和运算等,用户只简单的提供数据就可以得出复杂强大的报表, 除了智能的处理外也提高了系统处理性能。 17、强大WEB功能 通过接口可以下载WEB服务上的报表、下载绑定数据(实现WEB绑定功能)、下载XML数据;XML数据可以包含多种格式的数据 (下载报表地址、表格数据、报表绑定数据、单元格变量数据、单元格字段数据、操作报表方法等),在XML的方法可以实现 对本地报表的操作。 报表本身的数据通过HTTP协议上传到服务器上,数据可以是单元格数据、变量数据、字段数据;在服务器端获得获得上传数据的方式与IE浏览器提交数据获得方式相同。 18、国际性 简单设置属性就可实现本地化, 例如缺省文的打印标题都可以设置成自己的本地语言。 19、环境 咖啡报表组件可以用于VB、VC、DELPHI、PB、.NET等FOR WINDOWS语言的二次开发报表组件。 也可以嵌入到jsp、asp实现WEB方式的开发,报表CAB包只有800K多一点 请发邮件到:happymfc@sina.com 索取注册码 服务方式: QQ号:coffeeReport@yahoo.cn MSN :coffeeReport@hotmail.com 邮箱:coffeeReport@yahoo.cn

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧