【发布时间】:2018-10-10 12:30:15
【问题描述】:
我的应用程序中有一个嵌入式 RDLC 报告。
我正在使用localReport.GetDataSourceNames()获取RDLC中列出的数据源,但我还需要知道数据源的ObjectDataSourceSelectMethod。
有没有办法以编程方式获取它?
更新 - 更多细节
该项目是一个 WPF 项目,我的 RDLC 都在一个“Web 项目”中以使用对象数据源,然后我引用该程序集并将我的嵌入式报告加载到流中:
Assembly.Load("FleetManagement.Resources")
.GetManifestResourceStream(string.Format("{0}{1}",
"FleetManagement.Resources.Reports.",
"FleetList.rdlc"));
然后我使用以下方法获取数据源名称:
private string DataSourceName
{
get
{
var ass = Assembly.Load("FleetManagement.Resources");
var rpt = new LocalReport();
using (var stream = ass.GetManifestResourceStream(string.Format("{0}{1}", "FleetManagement.Resources.Reports.", "FleetList.rdlc")))
{
if (stream != null)
using (TextReader rdr = new StreamReader(stream))
{
rpt.LoadReportDefinition(rdr);
return rpt.GetDataSourceNames().FirstOrDefault();
}
}
return null;
}
}
现在我想做的是从该报告中获取ObjectDataSourceSelectMethod,类似于我获取DataSetName的方式
【问题讨论】: