最近龙山网络在开发bs网站系统中,因为特殊定制开发,使用浏览器自带的打印功能,完全不能满足客户的需要,经过多方查找,目前网上流行比较好用且免费的打印插件是 grid++ report.
下面结合龙山网络在系统开发中使用grid++ report的要点做下记录,以方便同行参考吧。
1.首先是打印时候的水印添加。
水印很容易添加,在报表主对象中属性设置水印图片就可以,但是如果需要第一页不需要水印或者其中某一页不需要水印,就需要用到浮动部件来实现了。
插入浮动部件框必须首先进入页面视图,然后点击鼠标右键打开弹出式关联菜单,选择“显示浮动节”菜单项,这样就进入浮动部件框设计状态,此时就可以根据需要插入需要的的部件框。
以水印方式显示浮动部件框
浮动部件框通常显示在其它报表内容的上面,即显示了本页的其它报表内容之后再显示浮动部件框。通过将浮动部件框的“标识(Tag)”属性设置为“WATERMARK”(注意:字母必须全部为大写),这样就可以指定浮动部件框以水印方式显示,即最先显示这些下沉的水印浮动部件框,然后再显示其它报表内容。
控制浮动部件框在特定页显示
默认情况下,浮动部件框会在报表的每页中显示,且显示的位置是固定的。通过报表脚本或报表事件代码可以控制浮动部件框按照一定的条件显示或隐藏。通常是在报表主对象的“IGridppReport.PageStartScript(页开始脚本)”属性或“IGridppReport.PageStart”事件中根据条件设置对应浮动部件框的“Visible”属性。
下面是写在报表主对象的“页开始脚本”属性中的脚本代码:
//控制浮动部件框"mbFirstPage"只在第一页显示
Report.ControlByName("mbFirstPage").Visible = (Report.SystemVarValue(3) == 1);
//控制浮动部件框"mbLastPage"只在最后一页显示
Report.ControlByName("mbLastPage").Visible = (Report.SystemVarValue(3) == Report.SystemVarValue(2));
本系统中是这样使用的(要求是第一页无水印,其他都加)
//============================================
if(Report.SystemVarValue(3) == 1)
{
Report.ControlByName("PictureBox1").Visible = false;
}
else
Report.ControlByName("PictureBox1").Visible = true;
//====================================================
我的做法是在浮动部件库中插入一个图像插件,加载水印图片,设置标示为WATERMARK,然后显示方式为:平铺,在主报表页面开始脚本加入以上代码即可。
写到最后,龙山网站 专业开发cs bs系统,有需要可以看本站联系方式。
|