找回密码
 立即注册

QQ登录

只需一步,快速开始

aulati

注册会员

2

主题

14

帖子

108

积分

注册会员

积分
108

活字格认证

最新发帖
aulati
注册会员   /  发表于:2015-6-5 14:55  /   查看:8994  /  回复:17
ActiveReports版本为for .Net 6.0J 日文版

我的rpt文件包含pageHeader/Footer, groupHeader1/Footer1, detail五个内容块。
groupHeader设置了RepeatStyle为OnPage。

项目1 项目2
data data
data data
data data

groupHeader和Detail部分有个共同的行表头,为此设置了一个crossSectionBox,如上面的表格所示:
1. 项目1,项目2为groupHeader部分;
2. 左边第一列为crossSectionBox部分;
3. "data"为detail部分的数据。

因为crossSectionBox不支持设置文本,所以在groupHeader和detail的左边行头位置各设置了一个textBox以显示行头的内容,crossSectionBox只用来显示边框。
groupHeader的textBox内容在自动翻页后可以正常重复,但是detail的textBox则不行,需要手动设置。
目前做法是定义了一个全局boolean变量:
1. 在PageEnd事件中置为true。
2. 在detail_Format事件中判断,若为true,则设置行头位置的textBox内容,并将全局变置为false;若为false,则将textBox内容设置为空。

结果是翻页后,第一行内容为空,第二行才出现设置的textBox内容。
如果不是设置textBox的文本内容,而是设置属性,如设置边框,在全局变量为true时设置边框为实线,并将全局变置为false;若为false,则将边框设置为None,结果则是第一行、第二行均为实线,第三行才变为无边框。

请教该如何改进?或者有其它实现这个行头的方法吗?

17 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-6-5 15:51:00
沙发
您好,
detail的区域用来显示行数据。您可以在groupHeader中添加行头,groupHeader可以添加多个。

本帖子中包含更多资源

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

x
回复 使用道具 举报
aulati
注册会员   /  发表于:2015-6-5 17:05:00
板凳
回复 2楼frank.zhang的帖子

不太明白你是什么意思?
我知道可以添加多个groupheader/footer,但是现在的问题是翻页的问题……
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-5 18:27:00
地板
您好,
根据您的描述我的理解是:您需要给detail部分增加一个表头,需要在每页都显示。
我的建议是,由于groupheader可以设置每页都显示,所有可以设置重复显示?
不知我的理解是否正确?

您是否方便留一个联系方式,我就这个问题想跟您电话沟通一下。
回复 使用道具 举报
aulati
注册会员   /  发表于:2015-6-9 15:50:00
5#
我做了一个Demo。
现在是希望第二页的“年级一”中的“一”出现在018那一行。
还有如果第一页的左边方框下框线不知道可不可以设置显示出来?



本帖子中包含更多资源

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

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-9 16:26:00
6#
您好,
您的问题我们已经收到,由于验证需要一些时间,我们会在一个工作日内给您回复。
回复 使用道具 举报
aulati
注册会员   /  发表于:2015-6-9 17:10:00
7#
回复 6楼frank.zhang的帖子

嗯,麻烦您了~。~
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-9 17:10:00
8#
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-10 09:36:00
9#
您好,
我目前做了一些尝试,







那个年纪必须显示在左侧吗?

本帖子中包含更多资源

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

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-10 16:00:00
10#
您好,
经过调查发现detail_Format触发事件比groupHeader1_Format晚,所以导致刷新时,在第二行显示,
您可以使用detail_BeforePrint这个事件
  1.         private void detail_BeforePrint(object sender, EventArgs e)
  2.         {
  3.             if (flg)
  4.             {
  5.                 this.textBox6.Text = this.textBox6.Text.Substring(2);
  6.                 flg = false;
  7.             }
  8.             else
  9.             {
  10.                 this.textBox6.Text = string.Empty;
  11.             }
  12.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
aulati + 5 这个方法有效果!

查看全部评分

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