C#文件操作一网打尽(4)——rdlc报表控件使用

一、需求分析
我们如果如果想在一些情况下打印一些表格中的数据,并且这些表格中的数据能被编辑,那么我们如何实现呢?答案是使用visual studio自带的rdlc报表设计工具,reportviewer报表显示、打印控件,以及dataset数据源类,其中数据源、报表设计、报表设计打印这三者的关系如下图所示:
在这里插入图片描述

二、建立数据源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、设计报表,绑定数据源
在这里插入图片描述
如果没有没有报表这个选项的话,则按照如下操作:
在这里插入图片描述
安装microsoft RDLC Report Designer
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、显示报表、打印报表
将控件
如果没有该控件的话,如下操作:
在这里插入图片描述
在这里插入图片描述
工具箱-》选择项-》添加Microsoft.ReportViewer.WinForms.dll
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
往dataset绑定一些数据,可以从数据库中读取,也可以直接编码指定,如下:

 private void Form1_Load(object sender, EventArgs e)
    {


        try
        {
            InitialDataTable();
            DataSet ds = new DataSet(); //创建新的ds
            ds.Tables.Add(dt);//将datatable的值赋值给dataset

            //获取报表文件并赋值给reportviewer
            //this.reportViewer1.LocalReport.ReportPath  = @"D:\technologyProgram\Rdlc测试\Report1.rdlc";//指定rdlc在本地的路径
            this.reportViewer1.LocalReport.ReportEmbeddedResource = "Rdlc报表.Report1.rdlc";//项目名.包表明.rdlc
            
            //指定数据集
            this.reportViewer1.LocalReport.DataSources.Clear();//清除reportviewer原来绑定的数据
            ReportDataSource rds1 = new ReportDataSource("DataSet1", ds.Tables[0]);//注意此处数据集名字“DataSet1”必须要和添加的数据集名字相同,否则无法绑定数据源至报表数据集
            this.reportViewer1.LocalReport.DataSources.Add(rds1);//将数据传给reportviewer
            //显示报表
            this.reportViewer1.RefreshReport();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }

    }
    public void InitialDataTable()
    {
        dt.Columns.Add("姓名", typeof(string));
        dt.Columns.Add("年龄", typeof(string));
        dt.Columns.Add("性别", typeof(string));
        for (int i = 0; i < 100; i++)
        {
            DataRow dr = dt.NewRow();
            dr["姓名"] = "小王";
            dr["年龄"] = i;
            dr["性别"] = "男";
            dt.Rows.Add(dr);
        }
    }

在这里插入图片描述

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c#上位机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值