报表编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
报表编程

报表数据概述通常开发报表的过程是报表开发者首先用报表设计器设计出报表样式,也即报表模板文件,在 Grid++Report 中模板文件的扩展名通常为.grf。然后开发者将报表模板应用在自己开发的程序中,并在程序中为报表加载数据,这些数据通常都是动态的,在不同的运行场景下,其产生的报表都不一样。 在设计报表时,通过设置报表的明细数据库查询参数为报表提供明细数据,明细数据通常是有多笔记录的数据,Grid++Report根据明细记录伸展产生报表表格。根据明细数据库查询参数可以自动创建报表字段。参考:定义明细数据库连接串与查询SQL。 在设计报表时,通过设置报表的参数数据库查询参数为报表提供参数数据,参数数据通常只有一笔记录数据,Grid++Report也只会应用第一笔记录。这里所指参数数据不仅仅是指报表参数的数据,同时也包括各种部件框的数据。根据参数数据库查询参数获取的数据将根据名称匹配方法,自动将字段的数据加载到同名参数或部件框上。根据参数数据库查询参数可以自动创建报表参数。参考:定义参数数据库连接串与查询SQL。 报表在运行时,通常会根据不同的场景产生不同的报表数据,这就要求开发者在程序中为报表按场景提供动态数据,如按条件动态构建查询SQL语句,将程序中读到的数据加载到报表中。后面的主题将就报表动态数据进行说明。 动态设置报表参数数据库连接串与查询SQL在设计时设定的数据库连接串与查询SQL有可能不能适应报表运行时的要求,如软件部署后其数据库连接串很难与设计时一致,而查询SQL也需要根据不同的查询条件进行数据查询,这些情况都需要用程序代码去进行动态设置,其设置代码类同如下: Report.ConnectionString = ...; Report.QuerySQL = ...; 根据参数数据库连接串与查询SQL从数据库查询出来的数据将自动加载到与SQL字段同名的报表参数或部件框中。 如果报表明细记录集上的数据库连接串已经设置,这里的参数数据库连接串可以不设置,在运行时将应用报表明细记录集上的数据库连接串。 用代码设置参数的数据用 ParameterByName 方法根据参数名称找到对应报表参数对象,然后就可以给参数设置各种数据类型的值。 //为参数设置文字数据,值为字符串 Report.ParameterByName(Parameter1).AsString = ...; //为参数设置布尔数据,值为true或false Report.ParameterByName(Parameter1).AsBoolean = true; //为参数设置日期数据,值为日期时间类型 Report.ParameterByName(Parameter1).AsDateTime = ...; //为参数设置小数数据,值为浮点类型 Report.ParameterByName(Parameter1).AsFloat = 9.78; //为参数设置整数数据,值为整数类型 Report.ParameterByName(Parameter1).AsInteger = 95; 用代码设置部件框的数据用 ControlByName 方法根据部件框名称找到对应部件框对象,然后就可以给部件框的数据属性设置对应数据类型的值。通常需要设置动态值的部件框有:静态框、综合文字框、图像框、条形码框。 //为静态框设置文本属性值,值为字符串 Report.ControlByName(StaticBox1).AsStaticBox.Text = ...; //为综合文字框设置文本属性值,值为字符串 Report.ControlByName(MemoBox1).AsMemoBox.Text = ...; //为图像框载入动态图像数据,用LoadFromFile方法载入,参数为图像文件的文件路径或URL Report.ControlByName(PictureBox1).AsPictureBox.LoadFromFile(%参数为图像文件的文件路径或URL%); //为条形码框设置文本属性值,值为字符串 Report.ControlByName(Barcode1).AsBarcode.Text = ...; 动态设置明细数据库连接串与查询SQL在设计时设定的数据库连接串与查询SQL有可能不符合报表运行时的要求,如软件部署后其数据库连接串很难与设计时一致,而查询SQL也需要根据不同的查询条件进行数据查询,这些情况都需要用程序代码去进行动态设置,开发者应该根据软件的运行环境动态构造出是数据库连接串,根据查询条件动态构造出查询SQL,从而实现动态的报表数据。其设置代码类同如下: Report.DetailGrid.Recordset.ConnectionString = ...;

文档评论(0)

cbf96793 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档