2 回答
TA贡献1804条经验 获得超7个赞
如果您的目标是从 SQL 填充数据,则可以通过 rpt 文件设置连接,方法是在任务栏上选择Database > Database Expert > OLE DB (ADO)(如果是 MS SQL)> SQL Server Native Clinet。以这种方式建立的连接也将在评估报告时使用,因此您不需要每次都通过它。
TA贡献1982条经验 获得超2个赞
早上好朋友们 我修改了我的代码以避免询问参数。我删除了 cryRpt.Dispose() 和 cryRpt.Close()。它有效,但我决定将这些代码行放在 winform 关闭事件中。我的代码是:
public FrmReport()
{
InitializeComponent();
rpDoc = new ReportDocument();
crvReportes.AllowedExportFormats = (int)(ViewerExportFormats.ExcelFormat | ViewerExportFormats.PdfFormat| ViewerExportFormats.WordFormat);
}
private void LoadReport()
{
try
{
rpDoc.Load((Application.StartupPath + "\\rpExclu.rpt").Replace("\\bin\\Debug", ""));
rpDoc.SetParameterValue("@IDA", this.ida);
rpDoc.SetDatabaseLogon(this.us, this.pass);
crvReportes.ReportSource = rpDoc;
crvReportes.Refresh();
}
catch (Exception ex)
{
crvReportes.Refresh();
XtraMessageBox.Show("" + ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void FrmReporteBienes_FormClosing(object sender, FormClosingEventArgs e)
{
if (rpDoc.IsLoaded)
{
rpDoc.Dispose();
rpDoc.Close();
}
}
这是最好的解决方案吗?好吧,在这一刻它起作用了。提前致谢。
- 2 回答
- 0 关注
- 133 浏览
添加回答
举报