现在我们有这么一个需求需要报表加载数据源的时候,需要把部分值传到前台,不知道如何实现。
如果在 protected override object OnCreateReportHandler(string reportPath)方法里加上
ptotalpage = new GrapeCity.ActiveReports.PageReportModel.ReportParameter();
ptotalpage.Name = "开始行";
ptotalpage.Prompt = "开始行";
ptotalpage.DataType = GrapeCity.ActiveReports.PageReportModel.ReportParameterDataType.String;
ptotalpage.DefaultValue.Values.Add("abcdef");
definition1.Report.ReportParameters.Add(ptotalpage);
前台可以通过 $("div[pname='开始行']").children("input").val() 获取到对应的值,但这种方式对我们来说不太合适,
我DataSource时初始化的时候来实现,具体如下
definition1.Document.LocateDataSource += new LocateDataSourceEventHandler(InitDataSource);
public virtual void InitDataSource(object sender, LocateDataSourceEventArgs args)
{
ReportParameter ptotalpage = new GrapeCity.ActiveReports.PageReportModel.ReportParameter();
ptotalpage.Name = "开始行";
ptotalpage.Prompt = "开始行";
ptotalpage.DataType = GrapeCity.ActiveReports.PageReportModel.ReportParameterDataType.String;
ptotalpage.DefaultValue.Values.Add("abcdef");
args.Report.PageReport.Report.ReportParameters.Add(ptotalpage);
}
在通过 $("div[pname='开始行']").children("input").val() 获取值的时候,取不到值,该问题应该如何解决。
|
|