ReportViewer 动态绑定

http://www.byywee.com/page/M0/S753/753647.html



ReportViewer 动态绑定


Admin
2012年6月20日
名人名言:真理是美的;毫无疑问,谎言也是如此。——Emerson

我们经常用reportViewer来做一些报表,直接连数据源的不讲了,google上有,这里是动态绑定一些字段和数据源,
添加



这两个dll,对象箱会直接有这个组件



拖拽一个



 


form的代码



 public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }



        private void Form1_Load(object sender, EventArgs e)

        {





            this.reportViewer1.ProcessingMode = ProcessingMode.Local;

            this.reportViewer1.LocalReport.ReportPath = "TestReport.rdlc";

            this.reportViewer1.LocalReport.EnableExternalImages = true;



           List<ReportParameter> para = new List<ReportParameter>();

            //这里是添加两个字段

           para.Add(new ReportParameter("FishName""fishkel"));

           para.Add(new ReportParameter("FishId""123"));

            //这里是添加两个数据源,两个list

           var list = new List<TestReport> { };

           list.Add(new TestReport() { a = "20100201", b = 0.1, c = 0.2, d = 0.1 });

           list.Add(new TestReport() { a = "20100202", b = 0.1, c = 0.2, d = 0.2 });

           list.Add(new TestReport() { a = "20100203", b = 0.1, c = 0.4, d = 0.2 });

            var test = new List<TestReport>() {new TestReport(){ a = "20100201", b = 0.33, c = 0.33, d = 0.33 }};

            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Test", test));

            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("TestList", list));

            this.reportViewer1.LocalReport.SetParameters(para);

            this.reportViewer1.RefreshReport();

        }

    }



    public class TestReport

    {

        public string a { get; set; }

        public double b { get; set; }

        public double c { get; set; }

        public double d { get; set; }

    }



}


 


新建一个报表。rdlc类型的,打开报表,拖拽一个图表类型



因为你没有添加任何数据源,然后它会弹出



名称你本身起,数据源选择新建,选择对象,然后选择你本身新建的那个类,就是我建的TestReport那个,点击完成




我添加了两个数据源和两个参数,因为form1中我传来了两个数据源两个参数,这里必必要一一对应,不然会找不到数据,添加完了,



右键 图表属性。选择一个数据源,然后把字段添加到区域



拖拽一个文本框控件,右键  表达式



双击,断定,好了,form中的那个报表            this.reportViewer1.LocalReport.ReportPath = "TestReport.rdlc"; 这个 是要在bin debug有副本的,也就是说你要把报表的  复制到输前程径改成始终复制,然后把form的报表控件右上角的 选择报表 选择一下,运行:



ok  剩下的本身去摆放吧! goodluck!


你可能感兴趣的:(ReportViewer 动态绑定)