找回密码
 立即注册

QQ登录

只需一步,快速开始

cskg0001

初级会员

33

主题

72

帖子

219

积分

初级会员

积分
219

活字格认证微信认证勋章

cskg0001
初级会员   /  发表于:2014-6-16 17:31  /   查看:9130  /  回复:10
Ar8  .net 2010  WinForm系统

第一次使用.net 下的AR8  看了AR7的使用说明和AR8得一些DEMO,有一些疑惑希望能指导一下?

1,我们企业的报表除了统计报表外,大部份都是出入库单据,发运单等非标准纸张。是不是最好用页面报表做。
2,页面报表中的套打,如果明细区域有很多行,也就是会出现多页,如何控制明细区域的大小和换页?
3,如何向报表中传递参数,如要打印的发运单编号
4,页面报表是不是不能编译进Exe文件,必须独立存在,在Exe中调用?
5,页面报表中在打印具体的内容时,要附加一些数据。(在数据源设置时 不太好设置)
     比如: 发运单我要在打印明细时,根据打印的当前产品,判断在规格一列中是打印 电流还是电压。(电流/电压在数据库中不同字段)
               还有要根据不同的产品 打印不同的库位信息。(不同的产品 存放库存信息是不一致的  有些是固定库位 有些是临时库位)。。。

10 个回复

倒序浏览
cskg0001
初级会员   /  发表于:2014-6-16 17:38:00
沙发
还有一点。
就是原来AR2里 报表可以预览后打印 或者直接打印
如 rpt入库单.show
    rpt入库单.printreport false 等
现在的AR8能否实现???
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-16 18:12:00
板凳
回复 2楼cskg0001的帖子

好的,就您描述的文字,一一解答如下:
1 这个要看具体的需求表样。
   页面报表适合做数据规整的报表;区域报表定义了很多事件接口,适合较复杂的报表。
2 请把您使用的报表rdlx文件上传一下。 如果是FPL页面报表,Table需要设置FixedSize属性。
3 报表中传递参数,请参考我们写的关于AR参数的博客
4 无法嵌入Excel使用AR报表。AR报表的运行需要用到AR的控件Viewer。
5 动态数据源相关的话题,可参考AR报表的运行时数据源博客文章。
6 web下,无法实现直接打印功能。


在线demo(Winform、ASP.net)
在线中文文档


请具体的AR问题分别开新帖沟通,设计布局的,请上传一下报表的需求,这样沟通起来比较便利,有利于节约您的时间。
回复 使用道具 举报
cskg0001
初级会员   /  发表于:2014-6-17 14:34:00
地板
你好: 感谢你的回复,现在报表已经基本做出来了。但还有几个小问题希望指导一下。
我设计的是FPL报表(发运清单)  VS2010 WINFORM系统
1, 我用AR7 用户手册中的事例做套打。 但在image图片的显示可见方式不行
   用=IIF([@ForPreview]=1,False,True) 在预览(view)中和打印是都看不到图片,把False和true换得话又都能出现图片,怎么解决?
2,有些情况下,发运清单不需要预览,直接打印,程序怎么搞?
3,是不是FPL报表不能编译进系统,只能单独存在,系统通过固定路径访问?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-17 15:35:00
5#
不客气。

1 IIF函数使用是对的,同判断参数ForPreview,进行是否显示。
   您提到的把False、True换个位置可以直接展示数据,我不太理解,是因为ForPreview数字不是1吗?
2 直接打印,没有直接的函数
  如果你想改变打印按钮单击事件的行为,需要自定义Viewer控件,并在新添加Print按钮的Click事件中调用 this.viewer1.Print(false, false);
  自定义Viewer控件的方法可以参考AR帮助文档的这个章节:
  1. ActiveReports Developer 7 > ActiveReports Developer Guide > How To > Customize, Localize, and Deploy > Customize the Viewer Control
复制代码

3 FPL报表,实际上上是XML文件格式,需要通过AR提供的Viewer才能解析。
回复 使用道具 举报
cskg0001
初级会员   /  发表于:2014-6-17 18:14:00
6#
关于第一点的补充:
就是我可以在 view显示的时候初始化 @ForPreview参数,这样view中的报表图片是显示的。
但是我点击打印按钮后,也会打印出图片(无法用代码更改@ForPreview参数)
在什么地方可以设置@ForPreview参数
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-17 18:51:00
7#
页面报表的参数,可通过外部传递, 在3#提供的网络中,有一篇博客专门有这方面的介绍:
报表参数面板

方便的话,可把这张报表压缩一下上传上来,我帮您看看目前问题在哪里。
回复 使用道具 举报
cskg0001
初级会员   /  发表于:2014-6-18 12:22:00
8#
可能我的说法不太正确,不太好理解。我重新解释一下。(把操作流程详细说明一下)
1.在发运清单界面,选择需要的数据,然后保存。(WinForm)
2,然后操作员选择打印发运清单(窗体上有 打印和打印预览2个按钮)
3,如果是直接打印(不预览), 我直接通过代码调用已经设计好的FPL(发运清单) 同时传入参数
     这个没有问题。报表背景图不显示
4,如果选择打印预览,我就显示预览窗体(包含view),预览窗体能正常显示我需要打印的清单信息
      同时,这时候报表背景图是显示的。(这样清楚一些)
5,*******问题在这里:
      如果在预览窗体我点击view上打印按钮(view自带),这时候打印出来的发运清单背景图就是显示的

      而我想实现的是,在预览窗体可以直接打印发运清单(无背景图片)

      当然,如果关闭预览窗体,到前面的窗体直接打印,也是正确的。但这样的话,操作上好像不太顺/
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-18 15:27:00
9#
电话沟通,把默认的打印按钮隐藏掉, 新增一个按钮,属性设置为和原来的打印一样,插入到第二位。

代码:

  1.             ToolStripButton tsPrint1 = viewer1.Toolbar.MainBar.Items[2] as ToolStripButton;
  2.             tsPrint1.Visible = false;

  3.             ToolStripButton tsPrint = new ToolStripButton();
  4.             tsPrint.ToolTipText = tsPrint1.ToolTipText;
  5.             tsPrint.Text = tsPrint1.Text;
  6.             tsPrint.Image = tsPrint1.Image;
  7.             tsPrint.ImageAlign = tsPrint1.ImageAlign;
  8.             tsPrint.ImageScaling = tsPrint1.ImageScaling;
  9.             tsPrint.Click += new EventHandler(tsPrint_Click);
  10.             viewer1.Toolbar.MainBar.Items.Insert(2, tsPrint);

  11.             viewer = new GrapeCity.ActiveReports.Viewer.Win.Viewer();
  12.             viewer.LoadCompleted += new GrapeCity.ActiveReports.Document.LoadCompletedEventHandler(viewer_LoadCompleted);
复制代码


代码来源:ActiveReportsDemo for WinForms\Viewers\PrintViewer.cs
回复 使用道具 举报
cskg0001
初级会员   /  发表于:2014-6-19 15:44:00
10#
问题解决了。非常感谢。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部