Grid++Report脚本备忘录(持续更新中)

这篇博客详细介绍了如何使用代码设置报表参数、部件框数据、字段值,并涵盖了打印参数的调整,包括纸张大小、边距、打印份数等。此外,还涉及到了报表的动态列显示、分组处理、系统变量的使用以及导出和隐藏报表节点的设置。内容对于报表设计和自动化打印流程的实现具有指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//用代码设置参数的数据:
Report.ParameterByName("Parameter1").AsString = "...";
Report.ParameterByName("Parameter1").AsBoolean = true;
Report.ParameterByName("Parameter1").AsDateTime = ...;
Report.ParameterByName("Parameter1").AsFloat = 9.78;
Report.ParameterByName("Parameter1").AsInteger = 95;

//用代码设置部件框的数据:
Report.ControlByName("StaticBox1").AsStaticBox.Text = "...";
Report.ControlByName("MemoBox1").AsMemoBox.Text = "...";
Report.ControlByName("PictureBox1").AsPictureBox.LoadFromFile("%参数为图像文件的文件路径或URL%");
Report.ControlByName("Barcode1").AsBarcode.Text = "...";
Report.ControlByName("FreeGrid1").AsFreeGrid.CellAt(1,2).Text = "YourText";

//用代码设置字段的值:
Report.DetailGrid.Recordset.Edit();  //准备修改当前记录的值
//或者: Report.DetailGrid.Recordset.Append();  //增加新记录,通常在 FetchRecord 事件中调用
Report.FieldByName("Field1").AsString = "...";  //字符串要设置字段长度
Report.FieldByName("Field2").AsBoolean = true;
Report.FieldByName("Field3").AsDateTime = ...;
Report.FieldByName("Field4").AsFloat = 9.78;
Report.FieldByName("Field5").AsInteger = 95;
Report.DetailGrid.Recordset.Post();

//总记录数
Report.DetailGrid.Recordset.RecordCount
注:内容行脚本有坑,首行修改数据时要判断Report.DetailGrid.Recordset.RecordCount != i i=0为全局变量i++

//设置打印相关参数:
Report.Printer.PrinterName = ...;

Report.PrintAsDesignPaper = false; //如果需要报表生成的打印页面与当前打印机的页面设置保持一致,必须将此属性设置为false
Report.Printer.SheetPaperSize = 8; //指定版面的实际输出为A3纸张 ,如果打印页面是按A4产生的,就会按放大的方式输出在A3纸上 
Report.Printer.PaperSize = ...;
Report.Printer.PaperName = ...;
Report.Printer.PaperWidth = ...;
Report.Printer.PaperLength = ...;
Report.Printer.PaperOrientation = ...;

Report.Printer.LeftMargin = ...;
Report.Printer.RightMargin = ...;
Report.Printer.TopMargin = ...;
Report.Printer.BottomMargin = ...;

Report.Printer.Copies = ...;
Report.Printer.Collate = ...;
Report.Printer.Duplex = ...;

Report.Printer.SheetPages = 2;//每页版数,用于实际打印一张放多页内容

//报表主对象的初始化脚本实现根据报表参数动态确定列的可见性(0/1)
Report.ColumnByName("Column1").Visible = 1;

//分栏设置
Report.DetailGrid.PageColumnCount=1;

//导出文件名测试(导出前脚本)
Sender.AbortShowOptionDlg=1; //关闭选项框直接导出
Sender.FileName="...";
Sender.NewSheetRows = 20; //按行数导出到sheet工作表

//设置分组尾重复打印(分组前脚本)
Sender.Footer.RepeatOnPage=0;

//报表系统参数
//计算机的当前日期时间
Report.SystemVarValue(1)
//总页数
Report.SystemVarValue(2)
//当前页号
Report.SystemVarValue(3)
//明细记录的当前记录号,从1开始计数
Report.SystemVarValue(4)
//明细网格的当前行号,从1开始计数
Report.SystemVarValue(8)
//明细记录的记录数
Report.SystemVarValue(19)
//分组序号,某个分组的序号,与分组项个数关联,序号从1开始
Report.SystemVarValue(20)
//分组数,某个分组产生的分组项个数(全程变量,全程统一值)
Report.SystemVarValue(21)
//分组项行号,在一个分组内重启序号,序号从1开始
Report.SystemVarValue(22)
//分组项行数,某个分组项包含的明细记录(行)数
Report.SystemVarValue(23)
//分组项页号
Report.SystemVarValue(24)
//分组项页数
Report.SystemVarValue(25)

//分组项行数(如指定分组1)
Report.SystemVarValue2(23,1)

//隐藏报表节点
Report.DetailGrid.ColumnContent.Visible=0;


//字体尺寸设置
Report.ControlByName("MemoBox1").Font.Point = 6.5;

//修改打印任务名称
Report.Title='XXX';

//二维码纠错等级,取值范围1-4,对应L,M,Q,H纠错等级
Report.ControlByName("Barcode2").AsBarcode.QRCodeErrorLevel = 4;
Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB6、VB、VC、Delphi、C++Builder、QT与易语言等。B/S开发适用于ASP.NET(C# & VB.NET),PHP,JSP(JAVA)等,支持所有WEB服务器。开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。 1. 含C/S报表组件、WEB报表插件、HTML5报表与WEB报表服务器开发的相关文件。 2. 通用报表设计器应用程序,可视化设计报表模板,报表组件、报表插件与HTML5报表都用此程序设计报表模板,同一报表模板可为三种开发模式共 用。 3. 包含大量各种类型,各行各业的报表模板例子,是学习报表设计的最好参考资源。 4. 包含桌面报表(C/S)组件、WEB报表插件、HTML5报表与WEB报表服务器的程序文件与例子文件。报表组件例子程序包括:C#, VB.NET, VB, VC, Delphi, C++Builder、中文编程易语言。Web报表例子程序包括:asp.net(c#)、asp.net(vb)、php、jsp。还有可直接运行的例子应用程序。 帮助文档及其它有关Grid++Report的文档与资源。 5. 请根据帮助文档中的相关说明,首先把例子程序运行起来。请尽量模仿最简单的例子程序开始学习。 6. 整理了C/S报表组件免COM注册发布软件的方法,实现绿色发布用Grid++Report开发的软件,并避免不同版本的Grid++Report发布在同一台电脑的冲突
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET,C#,VB,VC,Delphi,BCB,VFP,易语言等。B/S开发适用于ASP.NET,ASP,PHP,JSP等,支持所有WEB服务器。 Grid++Report6.0版主要新增功能 ★引擎方面 1、增加了一个自由表格部件,可以灵活定义各种自由表格,具有单元格合并功能。 2、部件框增加边距设置,边框增加内层与阴影,虚线边框。 3、文字显示增加段间距、首字缩进与两端分散对齐。 4、分组报表可以按某个统计值的大小对分组项进行排序 5、数据源除了OLE DB外,增加XML、JSON与普通文本数据。 6、在编程接口中增加了很多应用函数,如数据压缩、数字格式化、日期时间解析与格式化、打印机与纸型枚举、文件选择对话框等。 7、其它杂项功能,根据多年收集的用户需求来增加与改进功能,如分组相关系统变量、图像旋转显示等。 ★设计器: 1、设计面板具有缩放设计功能。 2、将关联属性归类为组,方便在设计时集中设置与查看。 3、对象浏览窗口与属性窗口可以隐藏,方便在设计很宽的报表时增大设计面板的区域。 4、设计面板大小跟随明细网格总列宽来改变宽度,方便设计大宽度明细网格报表。 5、部件框锁定功能,被锁定的部件框不允许进行可视化拖放。 6、自动在分组头尾中增加统计框,默认为合计函数,并设置相应的对齐列。 7、数据源连接串可以为 XML 或 JSON 数据源,且可以自动生成字段。设计报表时数据源可连接的类型有:各种数据库、XML或JSON文件、产生XML或JSON的网络URL、EXCEL文件、TEXT文件。 8、设计器增加数据提供事件接口,在设计报表时可以用给报表加载自定义数据源。 ★打印与打印预览: 1、横向分页时,在数据不多的情况下,分页直接显示在本页,而不是在下一页。 2、在模板中可以保存默认打印机名称。 3、分组尾支持每页重复打印。 4、如果部件框跨页多次显示了,在新页中再次输出其上下边框。 5、提供编程接口枚举出Windows系统中安装的打印机,以及指定打印机支持的所有纸张类型。 ★查询显示: 1、没有明细网格的报表,背景图可以显示出来。 2、明细数据不多时,表格不会显示下部空白。 ★数据导出: 1、在导出Excel时,能用代码设置页边距等参数 2、在运行时对外观属性的改变可以反映到Excel导出。 ★图表: 1、重新设计图表接口,让图表可视化设计与编程控制更清晰简单。 2、支持更多图表类型,如百分比柱状图、垂直排列的柱图。 3、一个图表中可以混和显示多种不同类型的图形,如一个序列为柱图,另一个序列为曲线图。 4、Y轴可以显示双坐标轴,方便实现双轴柱状图等。 5、图例可以在下方显示,可以多栏显示。 6、增加图表数据记录集,图表数据直接从记录集或XML数据源加载,而不需用代码来加载图表数据。 7、图表方面还有很多细节方面的改进与增强,加强图表功能是本新版本的重要方面。 ★交叉表 1、多数据列交叉表可以将同一列产生的交叉列排列在一起。 2、在合计列中可以排除掉一些列不进行合计。 3、纵向交叉项目列中可以定义统计框或综合文字框表达式,在合计列中关联的字段自动求和,在项目列中关联字段为复制首笔值。 ★子报表: 1、子报表无数据可以自动隐藏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值