我正在使用 WPF 生成 Crystal Report 查看器,并且能够在报表查看器中加载数据。但是当我试图创建一个事件来动态刷新报表时,数据无法刷新。
基本上我所做的是创建一个与 MSSQL Server 连接的数据集
然后生成一个水晶报表文件:
然后尝试将数据导入 MainWindow 中的 Crystal 报表查看器。这是代码:
public partial class MainWindow: Window
{
DataSet1TableAdapters.BordierSheetTableAdapter TA = new DataSet1TableAdapters.BordierSheetTableAdapter();
ReportDocument reportDoc = new ReportDocument();
public MainWindow()
{
InitializeComponent();
Data_Binding();
}
public void button2_Click(object sender, RoutedEventArgs e)
{
reportDoc.Refresh();
crystalReportsViewer1.ViewerCore.RefreshReport();
}
void Data_Binding()
{
DataSet empDataSet = new DataSet();
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "Data Source=YATONGHOU\\SQLEXPRESS;Initial Catalog=messagedb;Integrated Security=True";
conn.Open();
string sqlStr = "select * from BordierSheet";
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlStr,conn);
dataAdapter.Fill(empDataSet, "BordierSheet");
}
string reportDataSource = @"C:\\Users\\yatong\\Work\\LogAnalytics\\BordierSheetReport\\BordierSheetReport\\CrystalReport1.rpt";
reportDoc.Load(reportDataSource);
reportDoc.SetDataSource(empDataSet);
this.crystalReportsViewer1.ViewerCore.ReportSource = reportDoc;
}
}
当我更新我的数据库然后单击窗口中的按钮(触发 button2_Click(object sender, RoutedEventArgs e) 函数)时,没有更新任何数据。那么有人可以帮我解决这个问题吗?非常感谢。