找回密码
 立即注册

QQ登录

只需一步,快速开始

wangpan

中级会员

6

主题

20

帖子

638

积分

中级会员

积分
638

活字格认证

wangpan
中级会员   /  发表于:2011-1-5 18:21  /   查看:13082  /  回复:10
你好,我想问一下,在Code中是否可以定义静态变量,还有就是有没有事件之类的,我想在报表初始时,给变量一个值;因为这个值会在后面循环显示时参与计算 然后显示的。

10 个回复

倒序浏览
gw0506
超级版主   /  发表于:2011-1-6 13:44:00
沙发
你指的是在Report.rdlx文件的Code tab中定义静态变量还是在Form中写代码?
回复 使用道具 举报
wangpan
中级会员   /  发表于:2011-1-6 15:12:00
板凳
你好 ,我的意思是在Report.rdlx文件的Code tab中 是否可以定义静态变量,我们是用C#开发的,报表用的数据源是DataSet,只要能实现使用静态变量,如果在Form中可以定义也行,麻烦告诉我解决办法。
我们现在是的需求是:DataTable中有一列的数值是要循环累加的,所以当绑定一条数据到报表的时候,就要记录一个值,以供绑定下一条数据时使用。
回复 使用道具 举报
wangpan
中级会员   /  发表于:2011-1-6 15:15:00
地板
额 对了 还是一个问题, 是否有事件的概念,就是说第一次的时候是要给静态变量赋一个我传过来的值的,就比如说Load事件啊什么的?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-1-6 16:58:00
5#
是这样的,Code Tab中可以定义静态变量,不过默认情况需要使用VB.NET。
如果是这样,那么使用Code Tab中定义的代码,需要在Report中某一Control填写表达式来调用。
比如Code Tab中定义了一个方法叫MapLink,那么可以在Report中某一TextBox中,添加下列表达式来完成调用。
  1. Code.MapLink(Fields!Country.Value, Fields!City.Value, Fields!StateProvince.Value)
复制代码

如果在Form中,那么使用C#,定义变量当然没有问题。Viewer提供Load方法。

总的来说,我觉得你的需求我还不是很清楚。你想自己计算“循环累加”值,然后填写在Report中还是返回到DataTable中?

如果你能提供一个demo,然后我们共同寻找一个简单的实现方案可能效率更高。
回复 使用道具 举报
wangpan
中级会员   /  发表于:2011-1-6 17:24:00
6#
我知道可以在code中定义vb.net的方法来调用,只是静态变量不清楚怎么弄的,怎么给你提供Demo呢?有没有方便一点的沟通方式,这样效率确实慢~!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-1-6 17:53:00
7#
给你发了短消息,请注意查收~
回复 使用道具 举报
wangpan
中级会员   /  发表于:2011-1-7 11:11:00
8#
谢谢了, 变量的问题解决了,昨天脑袋短路了~!:-|
再问个问题,我知道table中是可以将几个列合并成一列,但是现在我想把两行(或者说是两个textbox)合并成一个,然后文字在里面要垂直居中显示,这个我还没发现怎么做呢,请指教下~
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-1-7 11:44:00
9#
行之间不能合并,两个TextBox也不能合并。文字可以居中显示,垂直可以通过设置Value实现,将\r\n加入到Value中,或者直接在Editor中设置,如下图:

本帖子中包含更多资源

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

x
回复 使用道具 举报
wangpan
中级会员   /  发表于:2011-1-7 12:46:00
10#
我的意思是合并行后居中,如果不能合并行,请问这种效果有没有其他的方法实现(请查看附件图片),请指教~

本帖子中包含更多资源

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

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