找回密码
 立即注册

QQ登录

只需一步,快速开始

jessie

银牌会员

29

主题

85

帖子

2482

积分

银牌会员

积分
2482

活字格认证

jessie
银牌会员   /  发表于:2011-10-24 09:55  /   查看:6277  /  回复:9
我现在有一个这样的需求,就是我的detail部分,是不显示表格的,把表格的border都隐藏,然后每输出3条记录,插入一条横线。大概样子如下所示,请问怎么实现。

field1  field2  field3
***     ***    ***
***     ***    ***
***     ***    ***
----------------------
***     ***    ***
***     ***    ***

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-24 10:40:00
沙发


你可以在Detail区域中添加一个Label,并设置其label.text = "----------",添加以下代码:
  1.         private Int32 count = 0;
  2.         private void detail_Format(object sender, EventArgs e)
  3.         {
  4.             if ((++count) % 3 == 0)
  5.             {
  6.                 label1.Visible = true;
  7.                 detail.Height = 0.4f;
  8.             }
  9.             else
  10.             {
  11.                 label1.Visible = false;
  12.                 detail.Height = 0.2f;
  13.             }
  14.         }
复制代码

本帖子中包含更多资源

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

x
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-10-24 15:16:00
板凳
谢谢。不过现在还有一个问题,我detail里面的textbox也是动态生成的,在_ReportStart的时候,根据接受到的数据,动态生成了textbox,和调用Fields.Add(“Fieldname”),在_FetchData时间里面,把传递来的数据包数据用 Fields(strFieldName).Value = strvalue 来付给值。所以我在程序里不能执行 label1.Visible = false;这条语句,就算我在_ReportStart的时候在detail里面生成了一个label,我怎么再次拿到这个label呢?
不知道我说明白了没有,谢谢。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-24 15:50:00
地板
最简单的方法,你可以定义一个全局的label1,然后在ReportStart中添加到Detail中,这样就可以在任何地方访问了
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-10-24 16:58:00
5#
好吧。多谢,还有一个比较恶心的问题
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-10-24 17:11:00
6#
我的一张表,detail 如附件所示。就是在数据不存在的时候加一条斜线。我的detail里面的textbox也是动态生成的。
谢谢

本帖子中包含更多资源

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

x
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-24 17:38:00
7#
1、定义一个全局的Line,在ReportStart事件中添加到Detail
2、在Detail_Format取到需要显示斜线的TextBox所在的Location,然后计算出右上角和左下角的坐标,然后设置给线的坐标即可
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-10-24 17:39:00
8#
取到需要显示斜线的TextBox所在的Location?这个textbox是detail里面的数据
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-10-24 17:40:00
9#
怎样取到需要显示斜线的TextBox所在的Location?这个textbox是detail里面的数据
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-24 18:29:00
10#
  1.         Line line = new Line();

  2.         private void detail_Format(object sender, EventArgs e)
  3.         {
  4.             foreach (var item in this.detail.Controls)
  5.             {
  6.                 TextBox tb = item as TextBox;

  7.                 if (null != tb && tb.Name=="你需要控件的名字")
  8.                 {
  9.                     line.X1 = tb.Bounds.Left;
  10.                     line.Y1 = tb.Bounds.Bottom;
  11.                     line.X1 = tb.Bounds.Right;
  12.                     line.Y2 = tb.Bounds.Top;
  13.                 }
  14.             }
  15.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部