(转)关于rdlc报表的数据源
rdlc 报表字符类数据分为文本数据和表数据,区别就在于文本数据只有一个,表数据可以有多行,然而有很多数据只需要一个传入就可以比如打印某个用户的基本信息,很多信息都是唯一的,如果此时报表传入的数据用可视化的dataset的话,有些浪费资源,在这里就可以先设置 报表属性的 ReportParameters,然后在对应的浏览报表的代码里面添加
当然在上诉datarow对应的datatable的columnname和ReportParameters的设置要相同,传入数据,OK
再说说动态传入dataset,rdlc的表控件对应的数据源为dataset,然而用视图话的dataset很大的不方便,一直没有发现在视图编辑器里面怎么设置报表的dataset,没发现怎么和ReportParameters一样设置参数式的设置dataset,但是rdlc是可编辑的xml文件,可以手动的添加dataset的代码,主要键为 <DataSets> <DataSet Name=""> <Fields> <Field Name=""> <DataField></DataField> <rd:TypeName>System.String</rd:TypeName>可以手动设计好dataset
然后在设置
if (dataGridView1.Rows.Count > 0)
{
DataSet ds_THJL = new DataSet("ds_THJL");
DataTable dt = new DataTable();
ds_THJL.Tables.Add(dt);
dt.Columns.Add("工号");
dt.Columns.Add("员工姓名");
dt.Columns.Add("姓名");
dt.Columns.Add("性别");
dt.Columns.Add("客户名称");
dt.Columns.Add("个人电话");
dt.Columns.Add("通道");
dt.Columns.Add("录音时长");
dt.Columns.Add("通话类型");
dt.Columns.Add("通话时间");
dt.TableName = "dt_THJL";
foreach (DataRow dr in Dataset.Tables[0].Select(Dataset.Tables[0].DefaultView.RowFilter))
{
DataRow ddrr = dt.NewRow();
ddrr["工号"] = dr["工号"];
ddrr["员工姓名"] = dr["员工姓名"];
ddrr["姓名"] = dr["姓名"];
ddrr["性别"] = dr["性别"];
ddrr["客户名称"] = dr["客户名称"];
ddrr["个人电话"] = dr["个人电话"];
ddrr["通道"] = dr["通道"];
ddrr["录音时长"] = dr["录音时长/秒"];
ddrr["通话类型"] = dr["通话类型"];
ddrr["通话时间"] = dr["通话时间"];
dt.Rows.Add(ddrr);
}
frmRptTh frmrptTh = new frmRptTh(dt);
frmrptTh.ShowDialog();
}
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ds_THJL", dataTable));
this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
this.reportViewer1.RefreshReport();
一切都看得到,发生错误也很好调整,用视图模式的方便性及错误的调试都不如这样好
(转)关于rdlc报表的数据源的更多相关文章
- RDLC系列(一)ASP.NET RDLC 报表自定义数据源
最近一段时间开发ERP系统中要用到不少报表打印,在网上找了一圈发现想些好用的报表控件大部分要收费,一些面免费要么不好用要么IE8不兼容,最后还是用了微软自带的RDLC报表,把自己遇到的坑和技巧整理分享 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表
RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章<DevExpress的XtraReport和微软RDL ...
- DevExpress的XtraReport和微软RDLC报表的使用和对比
我们开发程序的时候,经常会碰到一些报表,如果是Winform的报表,一般可以采用DevExpress控件组的XtraReport,或者微软的RDLC报表,当然还有一些其他的,在此不再赘述.由于本人在W ...
- 会员管理系统的设计和开发(2)-- RDLC报表的设计及动态加载
在上篇<会员管理系统的设计和开发(1)>介绍了关于会员系统的一些总体设计思路和要点,经过一段时间开发,软件终于完成并发布.在这期间,碰到了不少技术难点,并积累了不少开发心得和经验,本篇继续 ...
- C#制作RDLC报表
报表以前我只做过水晶报表,但是最近发现家里的VS上面居然没有水晶报表,发现水晶报表现在貌似已经不能完全免费的使用了,为了保险起见,就用了VS自带的RDLC报表,用完感觉其实也是够用的嘛~ 建立一RDL ...
- 动态生成RDLC报表
前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取(包括最新的增删改)的数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示.打印. ...
- 项目中使用RDLC报表
原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...
- C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法
初学c#,因最近公司客户要求原出货标签需实现条码化,练手的机会来了,遂动手做这个程序,开始都是一些增删改查操作一直很顺利,但到RDLC报表将条码显示到报表上犯难了,因为初学未接触过报表,上网查资料均一 ...
- 在MVC项目中使用RDLC报表
原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...
随机推荐
- svn常见错误总结
1. svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS reque ...
- 关于usr/bin/ld: cannot find -lxxx问题总结
/usr/bin/ld: cannot find -lxxx问题总结 linux下编译应用程序常常会出现如下错误: /usr/bin/ld: cannot find -lxxx ...
- OpenJudge计算概论-配对碱基链
/*===================================== 配对碱基链 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺 ...
- Sublime Text3注册码 (备用)
复制如下三个任意一个正版注册码即可—– BEGIN LICENSE —–Andrew WeberSingle User LicenseEA7E-855605813A03DD 5E4AD9E6 6C0E ...
- 【转】第4篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:委托回调方法分析
作者: 牛A与牛C之间 时间: 2013-11-18 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第4篇:Xilium CefGlue 关于 CLR Object 与 JS ...
- selenium+python自动化之操作浏览器
一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加 ...
- ibats注意
<isNotEqual property="id" compareValue="0" prepend="and">id=#id# ...
- LINUX常用配置及命令
一. Fedora系统配置 1. [设置网卡IP] 步骤如下: 1) 用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文 ...
- ajax简单案例:字符串返回类型
小知识点: implode("^",$v) 拼数组为字符串, split/explode("|") 拆字符串为数组; "你好"-> ...
- 使用匿名委托,Lambda简化多线程代码
使用匿名委托,Lambda简化多线程代码 .net中的线程也接触不少了.在多线程中最常见的应用莫过于有一个耗时的操作需要放到线程中去操作,而在这个线程中我们需要更新UI,这个时候就要创建一个委托了 ...