读书人

高手帮忙水晶报表显示在网页上的内容

发布时间: 2012-01-30 21:15:58 作者: rapoo

高手帮忙,水晶报表显示在网页上的内容不更新,在线等,TKS!
我新建个网站,加入一个CrystalReportViewer1,然后填加下面代码,其它的什么也不做,但运行后只显示做水晶报表时的数据记录在网页上,即使更改参数的值再运行,也是这样,即参数没有传进去。

请问高手为什么啊?


下面的代码是用来打开c:\a\IndentedCurrentBillOfMaterial.rpt报表,加入了参数和登录信息


Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared


Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim logOnInfo As New TableLogOnInfo
Dim oRpt As New ReportDocument
Dim i As Int16
Dim tmp As DBNull

oRpt.Load( "c:\a\IndentedCurrentBillOfMaterial.rpt ")
For i = 0 To oRpt.Database.Tables.Count - 1
logOnInfo.ConnectionInfo.UserID = "sa "
logOnInfo.ConnectionInfo.ServerName = "it-zmyang "
logOnInfo.ConnectionInfo.DatabaseName = "TESTDB1_APP "
logOnInfo.ConnectionInfo.Password = "forex "
oRpt.Database.Tables(0).ApplyLogOnInfo(logOnInfo)
Next
'CrystalReportViewer1.ReportSource = oRpt

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Dim paramFields As New ParameterFields
Dim paramField As New ParameterField
Dim discreteVal As New ParameterDiscreteValue
Dim rangeVal As New ParameterRangeValue

' 第一个参数是具有多个值的离散参数。

' 设置参数字段的名称,它必须
'和报表中的参数相符。
paramField.ParameterFieldName = "@StartingItem "

' 设置第一个离散值并将其传递给该参数
discreteVal.Value = "FG-AL03AU0100-B "


paramField.CurrentValues.Add(discreteVal)

' 设置第二个离散值并将其传递给该参数。
' discreteVal 变量被设置为新值,这样,以前的设置
'就不会被覆盖。
'discreteVal = New ParameterDiscreteValue
'discreteVal.Value = "FG-AL01AU0100 "
'paramField.CurrentValues.Add(discreteVal)

' 将该参数添加到参数字段集合。
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@EndingItem "
discreteVal.Value = "FG-AL03AU0100-B "
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@StartingProCode "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@EndingProCode "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@MaterialType "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@Source "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField


paramField.ParameterFieldName = "@Stocked "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@ABCCode "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@EffectiveDate "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@EffectiveDateOffset "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@PageJob "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@PrintLevelZero "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@DisplayRefer "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField


paramField.ParameterFieldName = "@DisplayHeader "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@PrintAlternateMaterials "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@FgTypeQty "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@FgQty "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@StartVendorItem "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)

paramField = New ParameterField
paramField.ParameterFieldName = "@EndVendorItem "
discreteVal.Value = tmp
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)


' 将参数字段集合放入查看器控件。
CrystalReportViewer1.ParameterFieldInfo = paramFields
CrystalReportViewer1.ReportSource = oRpt

End Sub
End Class


[解决办法]
VB.NET偶不懂,只能给楼主友情帮顶了~
同时向大家学习。

读书人网 >asp.net

热点推荐