把对引的参数定义变量,就可以了 示例定义 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim aa As New tbl_extentionbll Dim getinfo As New tbl_parameterbll Dim table As New report_namebll Dim tableinfo As report_top.tbl_parameterDataTable = getinfo.get_main_display(Val(Request.QueryString("dd"))) reportdoc.Load(Server.MapPath(table.geturl(Request.QueryString("dd")))) If Trim(Request("action").ToString) = "test" Then reportdoc.SetDatabaseLogon("wip", "sa", "test", "")'数据连接 Else reportdoc.SetDatabaseLogon("wip", "sa", "real", "")'数据连接 End If reportdoc.Refresh() Me.CrystalReportViewer1.DataBind() 'Me.CrystalReportViewer1.ToolbarImagesFolderUrl = "CrystalReport/Images/ToolBar/" Me.CrystalReportViewer1.DisplayGroupTree = False Me.CrystalReportViewer1.DisplayToolbar = False 'Me.CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.Pdf Dim paravalues As New ParameterValues() '定义参数集 Dim paradisvalue As ParameterDiscreteValue ' 离散型参数定义 Dim pararangvalue As ParameterRangeValue '区域型参数定义 '读正常参数设置 '**************************** '檢測訂單厰別 '**************************** If tableinfo(0).order_status = 1 Then paradisvalue = New ParameterDiscreteValue() paradisvalue.Value = Request(tableinfo(0).order_factory) paravalues.Add(paradisvalue) reportdoc.DataDefinition.ParameterFields(tableinfo(0).order_factory).ApplyCurrentValues(paravalues) End If
......... '擴展項目需要如下操作,以下的動作需要限制的 If tableinfo(0).ex_id > 0 Then Dim tables As tbl_extention.tbl_extentionDataTable = aa.get_extion(tableinfo(0).r_id) Dim row As tbl_extention.tbl_extentionRow For Each row In tables paradisvalue = New ParameterDiscreteValue() paradisvalue.Value = Request(row.para_name) paravalues.Add(paradisvalue) reportdoc.DataDefinition.ParameterFields(row.para_name).ApplyCurrentValues(paravalues) Next End If Me.CrystalReportViewer1.ReportSource = Me.reportdoc End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim aa As New tbl_extentionbll
Dim getinfo As New tbl_parameterbll
Dim table As New report_namebll Dim tableinfo As report_top.tbl_parameterDataTable = getinfo.get_main_display(Val(Request.QueryString("dd")))
reportdoc.Load(Server.MapPath(table.geturl(Request.QueryString("dd")))) If Trim(Request("action").ToString) = "test" Then
reportdoc.SetDatabaseLogon("wip", "sa", "test", "")'数据连接
Else
reportdoc.SetDatabaseLogon("wip", "sa", "real", "")'数据连接
End If
reportdoc.Refresh()
Me.CrystalReportViewer1.DataBind()
'Me.CrystalReportViewer1.ToolbarImagesFolderUrl = "CrystalReport/Images/ToolBar/"
Me.CrystalReportViewer1.DisplayGroupTree = False
Me.CrystalReportViewer1.DisplayToolbar = False
'Me.CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.Pdf Dim paravalues As New ParameterValues() '定义参数集
Dim paradisvalue As ParameterDiscreteValue ' 离散型参数定义
Dim pararangvalue As ParameterRangeValue '区域型参数定义 '读正常参数设置
'****************************
'檢測訂單厰別
'****************************
If tableinfo(0).order_status = 1 Then
paradisvalue = New ParameterDiscreteValue()
paradisvalue.Value = Request(tableinfo(0).order_factory)
paravalues.Add(paradisvalue)
reportdoc.DataDefinition.ParameterFields(tableinfo(0).order_factory).ApplyCurrentValues(paravalues)
End If
......... '擴展項目需要如下操作,以下的動作需要限制的
If tableinfo(0).ex_id > 0 Then
Dim tables As tbl_extention.tbl_extentionDataTable = aa.get_extion(tableinfo(0).r_id)
Dim row As tbl_extention.tbl_extentionRow
For Each row In tables
paradisvalue = New ParameterDiscreteValue()
paradisvalue.Value = Request(row.para_name)
paravalues.Add(paradisvalue)
reportdoc.DataDefinition.ParameterFields(row.para_name).ApplyCurrentValues(paravalues)
Next
End If
Me.CrystalReportViewer1.ReportSource = Me.reportdoc End Sub
AllowCustomValues = false;