回复 16楼frank.zhang的帖子
你好,我在做传参的的步骤如下,您帮我看看有什么问题。
1)在父报表做导航链接,设置传递参数A1,A2
2)在子报表上新建参数A1,A2
3)新建数据源DataSource、新建数据集DataSet,在数据集参数栏新建参数B1,B2,其值为A1,A2;然后新建字段C1,C2
4)然后WebViewer1_LocateDataSource编码如下:
if (args.DataSourceName == "DataSource")
{
if (args.DataSetName == "DataSet")
{
GrapeCity.ActiveReports.Expressions.ExpressionObjectModel.Parameter[] array = new GrapeCity.ActiveReports.Expressions.ExpressionObjectModel.Parameter[2];
args.Report.Parameters.CopyTo(array,0);
string conStr = "Data Source=USER-PC;Database=test;user id=sa;password=1234@qwer";
string strSql = "select time,quantity from test.dbo." + vname + " where (type=" + array[1] + " and datepart(yyyy,time)=datepart(yyyy," + array[0] + ") and datepart(mm,time)=datepart(mm," + array[0] + "))";
DataLayer dl = new DataLayer(conStr, strSql);
args.Data = dl.DataSetData.Tables[0];
}
} |