posts - 84, comments - 289, trackbacks - 10, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

RDLC自定义报表

Posted on 2008-08-03 13:03 faib 阅读(3102) 评论(20) 编辑 收藏

最近花了很多工夫研究了C# 2005的RDLC报表,个人感觉功能是很强大,但是编码却很费力,并且这方面的示例也实在是太少了。以下是我整理的一报表控件,在此与大家分享。

 

一、改进后的ReportViewer

Code

 

二、Rdl生成类

Code

 

三、报表主体生成类TableRdlGenerator

Code

 

四、页头页尾生成类HeaderFooterRdlGenerator

Code

 

五、报表配置类ReportConfig

Code

 

六、文本项类TextItem

Code

 

七、报表配置示例

Code

Feedback

#1楼[楼主]  回复 引用 查看   

2008-08-03 13:08 by faib      
ReportDefinition 类可到下面的网站上下载
http://www.codeplex.com/CDCHelper/SourceControl/FileView.aspx?itemId=157443&changeSetId=7134

#2楼  回复 引用 查看   

2008-10-24 09:15 by 时间太快      
呵,我也写了一个差不多的文章。

#3楼  回复 引用   

2008-11-21 21:34 by 作者名已被注册[未注册用户]
请教如何设置RDLC报表不分页显示呢,现在我的报表默认是分页的,我想显示所以的数据,怎么办呢?

#4楼  回复 引用   

2008-12-12 16:20 by 学习RDLC[未注册用户]
你好,我学习你的动态报表,写了个设置页面边距的,如下:
private Rdl.Report CreateReport()
{
Rdl.Report report = new Rdl.Report();
report.Items = new object[]
{
CreateDataSources(),
CreateBody(),
CreateDataSets(),
"1.5in",
"6.5in",
};
report.ItemsElementName = new Rdl.ItemsChoiceType37[]
{
Rdl.ItemsChoiceType37.DataSources,
Rdl.ItemsChoiceType37.Body,
Rdl.ItemsChoiceType37.DataSets,
Rdl.ItemsChoiceType37.LeftMargin,
Rdl.ItemsChoiceType37.Width,
};
return report;
}
但设置LeftMargin好像无效,我的报表始终是在最左边,请教下这是什么问题呢

#5楼  回复 引用   

2008-12-12 16:30 by 学习RDLC[未注册用户]
就是在报表呈现的时候不能看到效果,但若是点击报表布局,看见的可又是正常的(调整了页面边距)

#6楼  回复 引用   

2008-12-12 17:55 by 学习RDLC[未注册用户]
问题解决了,在构建报表的时候需要指定:STReporter.ItemsChoiceType21.Left

#7楼  回复 引用   

2009-02-19 15:46 by weisheng
最近在学习报表,麻烦楼主发一份给我,Email:weisheng.zhou@163.com

#8楼  回复 引用   

2009-02-19 15:46 by weisheng
麻烦楼主发一份给我,最近也在学习!weisheng.zhou@163.com,谢谢

#9楼  回复 引用   

2009-04-09 09:23 by 陈晶[未注册用户]
你好,我想实现不同的纸张,它会自动增充,现在不知道怎么实现好!网上的例子也比较少,能否发一份给我,或则跟我QQ聊! QQ:419960323

#10楼  回复 引用 查看   

2009-04-15 17:49 by 游吟谷      
Rdl生成类有个小BUG:

必须指定:Rdl.ItemsChoiceType37.PageWidth

否则,用户在没有按下页面设置按钮设置之前,显示与打印均不正常

请博主核实

#11楼  回复 引用   

2009-04-30 16:14 by 梦馨儿
楼主,麻烦你给我也发一份吧,我最近做毕业设计很急啊~~~~
E-mail: mickeytmf@sina.com

#12楼  回复 引用   

2009-05-13 20:34 by kk_soft[未注册用户]
你这个报表可以根据内容动态画表格吗?

#13楼[楼主]  回复 引用 查看   

2009-05-13 23:01 by faib      
当然可以,可以参考一下http://www.cnblogs.com/faib/archive/2009/05/04/1449130.html

#14楼  回复 引用   

2009-06-01 09:45 by charlie_winform[未注册用户]
请问动态报表的table是否可以居中显示(包括打印时候),还有报表的标题是否可以居中显示(包括打印时候),如果我想报表的在第一列中每三行合并成一个单元格可以做到吗?打印时候能不能默认就是横向打印啊?

#15楼  回复 引用   

2009-06-04 14:37 by 提问题123[未注册用户]
为什么打印布局时候 如果遇到分页 隔一页才有数据显示啊?

#16楼  回复 引用   

2009-06-06 10:20 by qwerfwgwh[未注册用户]
楼主,麻烦你给我也发一份吧,谢谢
E-mail: fy4683@163.com

#17楼  回复 引用   

2009-07-27 10:12 by choy[未注册用户]
请问有誰知道如何画线呢?
请写一些代码给我
万分感激

#18楼  回复 引用 查看   

2009-12-16 11:27 by david.zhang      
楼主,请教一下,假设我要在上面设置分组的话是不是很麻烦呀?
现在客户要求我让他们可以在网页上自己设置分组的列(比如 大区、地区 等等)不要我们已经定义好的。
请多多指教,谢谢!

#19楼  回复 引用   

2009-12-18 14:34 by 明明102[未注册用户]
ReportDefinition 类下载不了,还能到哪里去下载i?

#20楼  回复 引用 查看   

2009-12-18 15:28 by DelonLi      
把你的代码都下载了,但是N多地方编译出错:
Error 12 The type or namespace name 'Rdl' could not be found (are you missing a using directive or an assembly

ReportDefinition 类也下载不了,请问如何解决,谢谢,在线等阿!斑竹!

#21楼  回复 引用 查看   

2011-09-29 11:30 by Tomny籽      
兄弟,急需像你那样实现的报表,能发一份完整的源码给我么,谢谢啦,tang1022.cool@163.com