我正在尝试制作一个钻取报告,其中用户单击一年,然后获得另一个屏幕,显示该年的月度数据。我的代码中出现错误,因为“EcoYear”不在我绑定主报告的存储过程中。我可以将具有 EcoYear 的表添加到存储过程中,但随后我会为每个案例打印 15 页。(每个案例有 15 年)
这是我调试时出现错误的代码:
using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using System.Drawing.Printing;
namespace StdEco
{
public partial class StdEcoRpt : DevExpress.XtraReports.UI.XtraReport
{
public StdEcoRpt()
{
InitializeComponent();
}
private void xrLabel1_BeforePrint(object sender, PrintEventArgs e)
{
((XRLabel)sender).Tag = GetCurrentRow();
}
private void xrLabel1_PreviewClick(object sender, PreviewMouseEventArgs e)
{
DetailReport detailReport = new DetailReport();
detailReport.CaID.Value = (int)((DataRowView)e.Brick.Value).Row["CaseID"];
detailReport.EYear.Value = (int)((DataRowView)e.Brick.Value).Row["EcoYear"];
detailReport.ShowPreviewDialog();
}
private void xrLabel1_PreviewMouseMove(object sender, PreviewMouseEventArgs e)
{
Cursor.Current = Cursors.Hand;
}
}
}
错误是:列“EcoYear”不属于表 StdEcoMonthlyHeaderFooter。
我从现在开始获得 EcoYear 的表是 StdEcoMonthlyData。
当我将 EcoYear 添加到 StdEcoMonthlyHeaderFooter 存储过程时,我要么需要能够将该代码连接到 StdEcoMonthlyData 存储过程,要么以某种方式仅在每种情况下打印一条记录。
谢谢您的帮助。