找回密码
 立即注册

QQ登录

只需一步,快速开始

pmway

中级会员

41

主题

140

帖子

945

积分

中级会员

积分
945

活字格认证

pmway
中级会员   /  发表于:2014-8-7 10:51  /   查看:11132  /  回复:14
用随机安装设计器 GrapeCity.ActiveReports.Samples.EndUserDesigner代码,请问如何在工具栏加个选择纸张的下拉框。


选择下拉框后,改变模版的打印宽度?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

14 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-8-7 18:50:00
沙发
回复 1楼pmway的帖子

pmway 你好,
可以通过以下方法添加按钮:

  1.         private ToolStrip CreateReportToolbar()
  2.         {
  3.             return new ToolStrip(new ToolStripButton[]
  4.             {
  5.                 EndUserDesigner.CreateToolStripButton("New",Images.CmdNewReport,new EventHandler(this.OnNew),"New"),
  6.                 EndUserDesigner.CreateToolStripButton("Open",Images.CmdOpen,new EventHandler(this.OnOpen),"Open"),
  7.                 EndUserDesigner.CreateToolStripButton("Save",Images.CmdSave,new EventHandler(this.OnSave),"Save"),
  8.                 EndUserDesigner.CreateToolStripButton("页面尺寸",Images.CmdSave,new EventHandler(this.ChangePageSize),"页面尺寸")
  9.             });
  10.         }
复制代码


通过事件拿到报表然后设置纸张:

  1.         private void ChangePageSize(object sender, EventArgs e)
  2.         {
  3.             SectionReport sr = this.reportdesigner.Report as SectionReport;
  4.             //拿到报表后自定义窗体设置纸张大小
  5.         }
复制代码
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-8-8 11:33:00
板凳
可以创建ComboBox么
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-8-8 11:48:00
地板
另外,宽度的单位怎么设置?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-8 18:46:00
5#
回复 4楼pmway的帖子

你好,
加入Combo的问题我们这边正在调查中,目前的进展是通过  ToolStripDropDownItem 来添加,有进一步结果我们会通知你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-11 17:17:00
6#
回复 3楼pmway的帖子

在 toolbar 中添加 Combo例子,请参考:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-8-12 18:39:00
7#
回复 2楼iceman的帖子


  1. //下拉框改变后
  2.   void reportsCombo_SelectedIndexChanged(object sender, EventArgs e)
  3.         {
  4.              SectionReport sr = this.reportdesigner.Report as SectionReport;
  5.             //拿到报表后自定义窗体设置纸张大小
  6.              sr.PrintWidth =14;
  7.         }
复制代码
这么设置之后,设计器工作区的属性值更改了,但是画布的宽度没有变化,是不是还有个什么刷新的方法要执行下
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-13 13:56:00
8#
回复 7楼pmway的帖子

问题我已经重现了,正在调查中,有结果通知你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-14 10:46:00
9#
回复 7楼pmway的帖子

需要刷新一下 SectionReport 可以通过以下方法实现:

  1.             SectionReport sr = this.arDesigner.Report as SectionReport;
  2.             sr.PrintWidth = 8.6f;
  3.             sr.SaveLayout("test.xml");
  4.             sr.LoadLayout("test.xml");
复制代码

虽然保存是会耗费性能,但是目前没有更好的方法来实现了。
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-8-15 15:13:00
10#
回复 9楼iceman的帖子
  1. sr.LoadLayout("test.xml");
复制代码

这行在多次执行的时候会报错
如下图:
有没有方法避免这个问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部