web报表动态绑定数据源问题
本帖最后由 Lenka.Guo 于 2016-3-9 15:58 编辑我在网上看的例子照写这么不行啊:
void runtime_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1")
{
if (args.DataSetName == "DataSet1")
{
args.Data = GetDataSource();
}
}
}
public void dtLoadPageReport(string rt)
{
GrapeCity.ActiveReports.PageReport pageReport = null;
pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("~/Reports/" + rt + ".rdlx")));
GrapeCity.ActiveReports.Document.PageDocument runtime = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);
runtime.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(runtime_LocateDataSource);
//WebViewer1.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(runtime_LocateDataSource);
WebViewer1.LoadDocument(runtime);//问题WEB的没有这个函数 求大神指点
WebViewer1.ViewerType = GrapeCity.ActiveReports.Web.ViewerType.FlashViewer;
WebViewer1.Report = pageReport;
//viewer1.LoadDocument(runtime);
}
private DataTable GetDataSource(){ DataTable dt = new DataTable(); dt.Columns.Add("产品编号"); dt.Columns.Add("产品名称"); dt.Columns.Add("单价"); dt.Columns.Add("库存量"); dt.Rows.Add("A10002", "苹果", 20, 50); dt.Rows.Add("A15681", "香蕉", 20, 50); dt.Rows.Add("A15681", "菠萝", 20, 50); return dt;}
WebViewer不存在LoadDocument 方法,注意删除代码“ //viewer1.LoadDocument(runtime);”
为WebViewer 加载报表,可通过以下代码设置:WebViewer1.Report = pageReport;或WebViewer1.ReportName = pageReport;
其他代码没有问题,动态数据源绑定您可以参考博客:http://blog.gcpowertools.com.cn/post/2013/05/17/ActiveReports-PageReport-RunTime-DataSource.aspx
页:
[1]