• ReportViewer 动态绑定


    我们常常用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!

  • 相关阅读:
    C#取枚举描述
    JSON数组操作
    .NET DES 加密
    MVC返回图片
    with check option
    HashSet<T>类
    Repository模式
    C#泛型集合之Dictionary<k, v>使用技巧
    权限管理——在线列表
    数据库锁
  • 原文地址:https://www.cnblogs.com/fish124423/p/2556394.html
Copyright © 2020-2023  润新知