为什么我的数据库更新值未显示在报表查看器上

本文关键字:报表 显示 数据库 我的 更新 为什么 | 更新日期: 2023-09-27 17:55:52

在我的应用程序中,当我单击提交按钮时,所有值都会插入到数据库中。

为了打印这些当前插入的值,我在另一个窗体上使用报表查看器。

有 2 个按钮提交和打印.submit 按钮给我最后一个值的唯一 ID 和这个 ID 的详细信息,我想打印在报表上。但是当我单击打印按钮时,我不打印任何数据。

我已经尝试过,但是单击"打印"按钮时,它不会在报表查看器上显示任何数据。如何在单击打印按钮时获取当前值。我试过了,但它不适用于当前值。

           int id = Convert.ToInt32(Form1.lblbillno1);
        this.Customer_detailTableAdapter.Fill(this.DataSet1.Customer_detail,id);             
         this.Bill_DetailTableAdapter.Fill(this.DataSet2.Bill_Detail,id);
         reportViewer1.LocalReport.Refresh();
         this.reportViewer1.RefreshReport

为什么我的数据库更新值未显示在报表查看器上

我刚刚解决了同样的问题。我在互联网上搜索了几天,但我找不到一个好的答案。所以我希望我的帖子能帮助某人克服同样的问题。

您需要做的就是手动定义连接,重新填充数据集并将源绑定到报表查看器。这是我的项目示例:

using Microsoft.Reporting.WinForms;

    private void ReportForm_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = @"Data Source=(LocalDB)'v11.0;AttachDbFilename=D:'GD Robotics'VisualProjects'GDPolin'GDPolin'PolinaDB.mdf;Integrated Security=True;Connect Timeout=30";
        conn.Open();
        SqlDataAdapter reportDBTableAdapter = new SqlDataAdapter("SELECT * FROM  [ReportDB]", conn);
        DataTable polinaDBDataSet = new DataTable();
        reportDBTableAdapter.Fill(polinaDBDataSet);
        conn.Close();
        this.reportViewer1.Reset();
        this.reportViewer1.LocalReport.DataSources.Clear();
        this.reportViewer1.LocalReport.ReportPath = @"D:'GD Robotics'VisualProjects'GDPolin'GDPolin'Report1.rdlc";
        ReportDataSource rds = new ReportDataSource("DataSet1", polinaDBDataSet);//"DataSet1" is the name of your dataset. Go to .rdlc form>VIEW>Report Data>"Right click on dataset">Dataset Properties
        this.reportViewer1.LocalReport.DataSources.Add(rds);
        this.reportViewer1.RefreshReport();
    }