.net 流氓
天下无难事,有志者成之;天下无易事,有恒者得之。

查询了很多地方,关于rdlc 的文章大都是vs2008或者vs2005 的,10上的很多东西都有所不同的了,找的很多属性都找不到。

其中以前的代码 不加

 if (!IsPostBack)
   {

 

            //绑定报表
            ReportViewer1.LocalReport.ReportPath = MapPath( "Report1.rdlc");
            //绑定数据源

    //注意dataset1必须和你报表所引用的table 一致

            ReportDataSource rds = new ReportDataSource("dataset1", ds.Table[0]);//注意这里的name和报表中的一致
            ReportViewer1.LocalReport.DataSources.Add(rds);
            ReportViewer1.LocalReport.Refresh();

 

}

就能解决,而2010 必须加上,否则将会不休止的循环从新调用load 的事件,不停的在 界面显示loading

 

 

 

2 微软报表 子报表 rdlc 绑定子报表数据源

 

想必拖一个子报表控件,然后指向一个报表文件就不用多说了,大家一定知道怎么弄。重要的是绑定子报表的数据源。当然不也为难

帖代码看吧

if (!IsPostBack)
   {

 

            //绑定报表
            ReportViewer1.LocalReport.ReportPath = MapPath( "Report1.rdlc");
            //绑定数据源

    //注意dataset1必须和你报表所引用的table 一致

            ReportDataSource rds = new ReportDataSource("dataset1", ds.Table[0]);//注意这里的name和报表中的一致

 

    this.ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingEventHandler);  
            ReportViewer1.LocalReport.DataSources.Add(rds);
            ReportViewer1.LocalReport.Refresh();

 

}

 

  void SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
        {
           //注意dataset2必须和你子报表所引用的table 一致
           e.DataSources.Add(new ReportDataSource("DataSet2", ds2.Table[0]));

        }

 

 3.分页报表   按照字段分类,比如,按人,每个人的 数据在一页上。

  首先在工具栏 拖一个 list 控件,设置 list 的属性,按照某个字段分组,然后再向list中拖一个table  按照普通的写法绑定数据即可。

 

 4.绑定参数 赋值,底层代码

                ReportParameter rp = new ReportParameter("ReportTitle", “参数赋值”);  ---ReportTitle为参数名称
                ReportViewer1.LocalReport.SetParameters(rp);

 5 Image控件使用

   添加固定图片(嵌入式图片)
   选择一个RDLC报表文件,选择菜单栏中的报表-->嵌入图像-->新建图像(从本地选择一个图片)-->确定选中
   从工具栏拖动一个Image控件(图像)到RDLC,设置Source属性为Embedded,Value属性为刚才添加的图    片名称即可
   动态加载图片(根据图片路径) 
   菜单-->报表-->报表参数(新增一个参数,比如名称为image1,类型为string)拖动一个image控件到rdlc报表中,设置Source属性为External,Value属性为=Parameters!image1.Value   (注意:这里的image1要和报表参数的名称一致)包含报表文件的asp.net窗体
   this.ReportViewer1.LocalReport.EnableExternalImages = true;
   string path = "file:///" + Server.MapPath("~") + "Images\\image.gif";   //图片地址
   ReportParameter image = new ReportParameter("image1", path);   //image1必须和报表参数一致
    this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { image });

posted on 2011-08-26 15:44  .net 流氓  阅读(5387)  评论(2编辑  收藏  举报