报告无法以C#窗体形式获取当前数据?

时间:2014-03-31 06:28:28

标签: c# rdlc

我在C#中以窗口形式制作帐单报告项目。当我单击打印按钮时,我的报表查看器表单无法从数据库中获取当前数据,这意味着当我启动应用程序并在数据库中插入值时,我的报表查看器无法获取最新值。但是,当我关闭我的应用程序并重新打开报告时,它会获取所有数据,包括我的上一个交易值。

如何在点击我的打印按钮时获取当前值。 我尝试了但它对当前值没有用。

 private void Form2_Load(object sender, EventArgs e) 
{
    cn = new SqlConnection(databaseconnection);
    da = new SqlDataAdapter("select * from Bill_Detail order by billId DESC", cn);
    DataSet ds = new DataSet(); 
    da.Fill(ds);
    int id = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
    this.Customer_detailTableAdapter.Fill(this.DataSet1.Customer_detail,id); 
    this.Bill_DetailTableAdapter.Fill(this.DataSet2.Bill_Detail, id);   
    this.reportViewer1.RefreshReport();
}  

2 个答案:

答案 0 :(得分:0)

  1. 检查是否在报告中保存数据'在报告设置中启用。如果这是一个水晶报告,请取消选中此选项。
  2. 第二个选项是右键点击您的报告 - >转到“设计” - >“默认设置” - >“报告”标签,然后选中验证“加载报告时放弃保存数据”'
  3. enter image description here

答案 1 :(得分:0)

试试这个

DataView dview = new DataView();
        dview.Table = LoadReport().Tables["StudTable"];
ItemsReport myreport = new ItemsReport();
        myreport.SetDataSource(dview); 
SqlConnection myConn = new SqlConnection(_connString);
SqlDataAdapter da = new SqlDataAdapter("select * from Bill_Detail order by billId DESC", myConn);
DataSet ds = new DataSet();
da.Fill(ds, "StudTable");
return ds;