我通过点击First Form中的按钮,使用Report Viewer(在Second Form中)创建报告。我从第一个表单发送SELECT查询数据。 在第二个form_Loaded中,我通过从数据库中读取数据来显示报告。
namespace TrainingReports
{
public partial class AlarmReport : Form
{
private String Sessionstr;
public AlarmReport(String strsess)
{
InitializeComponent();
Sessionstr = strsess;
}
private void AlarmReport_Load(object sender, EventArgs e)
{
this.reportViewer1.Reset();
this.reportViewer1.Visible = true;
this.reportViewer1.ProcessingMode = ProcessingMode.Local;
this.reportViewer1.LocalReport.ReportEmbeddedResource = "TrainingReports.AlarmLog.rdlc";
this.reportViewer1.LocalReport.DataSources.Clear();
String sQuery = "SELECT * FROM alarmlogtbl WHERE (SessionID='" + Sessionstr + "')";
MySqlDataAdapter ada = new MySqlDataAdapter(sQuery, Properties.Settings.Default.DBPerfScoreConnectionString);
DataSet ds = new DataSet();
ada.Fill(ds);
ReportDataSource reportDataSource = new ReportDataSource();
reportDataSource.Name = "DBPerfScoreDataSet_alarmlogtbl";
reportDataSource.Value = ds.Tables[0];
this.reportViewer1.LocalReport.DataSources.Add(reportDataSource);
this.reportViewer1.RefreshReport();
}
}
}
从MainForm,我通过按钮操作调用报表表单:
private void OnButtonAlarmActionClick(object sender, ListViewColumnMouseEventArgs e)
{
ListViewHitTestInfo info = SessionList.HitTest(e.X, e.Y);
ListViewItem item = info.Item;
String sSession = item.SubItems[1].Text;// Index;
AlarmReport alrmRpt = new AlarmReport(sSession);
alrmRpt.Show();
}
生成报告,但只有标题显示没有表数据。
我已将Microsoft.ReportViewer附加到第二表格中,并已选择“设计新报告”#39;并在其中添加了DataSource和AlamrmLogtbl以及所有comluns.Now在ReportViewer Tasks菜单中,选择报告显示TrainingReports.AlarmLog.rdlc"。 从数据库获取的数据没有显示出来。
已解决:选择查询时出现问题。