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. pdo的工作方式与查错

    pdo某些方法如prepare()会返回PDOStatement对象; 然后需要通过返回的PDOStatement对象的方法操作 当查错通过$pdo->errInfo()方法可能查不出错误信息 ...

  2. Linux信号量详解

    1.什么是信号量信号量是一种特殊的变量,访问具有原子性.只允许对它进行两个操作:1)等待信号量当信号量值为0时,程序等待:当信号量值大于0时,信号量减1,程序继续运行.2)发送信号量将信号量值加1. ...

  3. 008. asp.net mvc3.0安装文件及其安装时发生错误的解决方案

    0. 安装步骤: vs2010 → vs2010sp1→ AspNetMVC3Setup.exe→ AspNetMVC3Setup_CHS.exe→ AspNetMVC3ToolsUpdateSetu ...

  4. Cg Programming/Vertex Transformations

    https://en.wikibooks.org/wiki/Cg_Programming/Vertex_Transformations

  5. jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器 的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编 ...

  6. python数据类型之int用法

    1.查看整型的用法 CODE:print(dir(int))['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', ...

  7. Ext is not defined

    最近由于项目设计到Extjs所以也准备研究一下,可是谁知道刚写好一个demo,运行的时候死活出不来界面,于是用firebug看了一下,出现:Ext is not defined,因为刚开始学也不知道是 ...

  8. comet4j文档

    Comet4J配置参数表 <!--Comet4J配置 --> <listener> <description>Comet4J容器侦听</description ...

  9. Sass用法指南_20151109笔记

    写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这 ...

  10. OpenSSL库验证PKCS7签名

    使用Crypto库签名和验证签名请参考Crypto库实现PKCS7签名与签名验证,可以使用OpenSSL库验证Crypto签名,OpenSSL验证签名可使用简单的代码描述如下: //signature ...