您好我正在计划一个应用程序,该应用程序基本上是使用ODBC无dsn连接字符串的数据库(专有Pervasive SQL)的报告前端。
我能够在Visual Studio中创建数据集,并将报告链接到应用程序。但是在实际使用中,每个用户的数据库位置会有所不同。这不是主要问题。我用连接字符串克服了这一点,它允许你设置数据库路径的位置。
这是踢球者......
我想要读取的表的名称以唯一文件名为前缀(实际上我上面提到的名称相同)。我需要crystal来在运行时重新映射表名。只是表名前缀真的。字段的字段和名称不会改变。
关于我应该在哪里寻找写这个块的任何想法?我正在使用VS2010& C#如果有帮助的话。我认为你应该是一些Crystal附带的类文件,可以做一些运行时反射来获取/设置表名?
任何想法都会受到欢迎和赞赏。 罗布
编辑:我发现了一些包含API文档和其他支持的文档link。我会研究他们。它们都是.chm文件(Windows帮助文件),因此没有“在线”文档可供搜索。
答案 0 :(得分:0)
添加公共函数ShowReport()
public void ShowReport(ReportDocument objReport)
{
Cursor.Current = Cursors.WaitCursor;
objReport.SetDatabaseLogon("", "dbpassword");
cRep.ReportSource = objReport;
this.Show();
Cursor.Current = Cursors.Default;
}
并在应用程序的任何位置调用它
ds = GetDataInDataSet();//fILL DataSet with your data
rptPSummary objRpt = new rptPSummary();
objRpt.SummaryInfo.ReportComments = "Have a nice day";
objRpt.SummaryInfo.ReportTitle = "Purchase Summary Report from " + sDate.ToString("dd/MM/yyyy") + " to " + eDate.ToString("dd/MM/yyyy");
objRpt.SetDataSource(ds);
frmReportView frmRpt = new frmReportView();
frmRpt.Text = objRpt.SummaryInfo.ReportTitle;
frmRpt.MdiParent = this;
frmRpt.ShowReport(objRpt);