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报表的数据源的更多相关文章

  1. RDLC系列(一)ASP.NET RDLC 报表自定义数据源

    最近一段时间开发ERP系统中要用到不少报表打印,在网上找了一圈发现想些好用的报表控件大部分要收费,一些面免费要么不好用要么IE8不兼容,最后还是用了微软自带的RDLC报表,把自己遇到的坑和技巧整理分享 ...

  2. 基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表

    RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章<DevExpress的XtraReport和微软RDL ...

  3. DevExpress的XtraReport和微软RDLC报表的使用和对比

    我们开发程序的时候,经常会碰到一些报表,如果是Winform的报表,一般可以采用DevExpress控件组的XtraReport,或者微软的RDLC报表,当然还有一些其他的,在此不再赘述.由于本人在W ...

  4. 会员管理系统的设计和开发(2)-- RDLC报表的设计及动态加载

    在上篇<会员管理系统的设计和开发(1)>介绍了关于会员系统的一些总体设计思路和要点,经过一段时间开发,软件终于完成并发布.在这期间,碰到了不少技术难点,并积累了不少开发心得和经验,本篇继续 ...

  5. C#制作RDLC报表

    报表以前我只做过水晶报表,但是最近发现家里的VS上面居然没有水晶报表,发现水晶报表现在貌似已经不能完全免费的使用了,为了保险起见,就用了VS自带的RDLC报表,用完感觉其实也是够用的嘛~ 建立一RDL ...

  6. 动态生成RDLC报表

    前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取(包括最新的增删改)的数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示.打印. ...

  7. 项目中使用RDLC报表

    原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...

  8. C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法

    初学c#,因最近公司客户要求原出货标签需实现条码化,练手的机会来了,遂动手做这个程序,开始都是一些增删改查操作一直很顺利,但到RDLC报表将条码显示到报表上犯难了,因为初学未接触过报表,上网查资料均一 ...

  9. 在MVC项目中使用RDLC报表

    原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...

随机推荐

  1. .net 实现 URL重写,伪静态(方法一)

    一,获得Mircosoft URLRewriter.dll(注意:此dll文件大小约为20KB,网上有8Kb的是不完整的文件,会报错) 二,在项目中该dll文件:添加引用(可以直接拷贝放入Bin文件夹 ...

  2. WebAPI Post类型传参报错“找不到与该请求匹配的操作”

    错误内容: Message=未找到与请求 URI“http://localhost:42914/api/Products/Login”匹配的 HTTP 资源. MessageDetail=在控制器“P ...

  3. sqlserver 字符串拼接及拆开联表查询的问题

    一.sql根据一个以逗号隔开的人员guid类型的ID字符串查出其对应的姓名同样拼接成逗号隔开的字符串: 1.需求:管理员发送通知(通知分为普通通知,奖品订单,调查问卷三种类型)给用户,并且可以查看统计 ...

  4. openstack(liberty): devstack之stack.sh分析

    学习openstack,从devstack入手,是个不错的选择.devstack中,首先需要分析stack.sh都做了些什么! 这里面涉及到了很多shell的基础知识.我就做个简单的梳理,方便后续查阅 ...

  5. Linux下访问其他机器的共享

    1.如何查看其他机器上的共享列表? 解答:使用smbclient 客户端,在Linux机器上可以用来查看服务器上的共享资源,也可以向ftp一样,用户可以登陆samba服务器,也可以上传put和下载ge ...

  6. CentOS下的网络配置文件说明

    CentOS网络配置主要涉及到以下四个文件: 1./etc/sysconfig/network 在CentOS官方网站上给出了如下说明: The/etc/sysconfig/networkfile i ...

  7. sql2008 将行转为字符串, 将字符串转为行 互转

    --将行转为字符串 select stuff((select top 20 ','+ QQ from dl_QQ where uiid=1 order by tim desc for xml path ...

  8. 剑指offer系列22--二叉树中和为某一值的路径

    22[题目]输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径. * 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 * [思路]只要从根结点到叶结点一条一条遍 ...

  9. Linux下做软RAID

    1.查看有多少块硬盘可用#fdisk -l嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid. 2.决定做什么类型的raid.raid-0.raid-1.raid-5?如 ...

  10. 【freemaker】之循环,判断,对象取值

    entity: public class Employee { private Integer id; private String name; private Integer age; privat ...