高手帮忙,水晶报表
显示在网页上的
内容不更新,在线等,只有40分了 我新建个网站,加入
一个CrystalReportViewer1,然后填加下面
代码,其它的什么也不做,但运行后只
显示做水晶报表时的数据记录在网页上,即使更改参数的值再运行,也是这样,即参数没有传进去。 请问高手为什么啊? 下面的
代码是用来打开c:/a/IndentedCurrentBillOfMaterial.rpt报表,加入了参数和
登录信息 Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Partial Class _Default Inherits Sy
stem.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object,ByVal e As Sy
stem.EventArgs) Handles Me.Load Dim
logonInfo As New Table
logonInfo 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 = "AB_APP "
logonInfo.ConnectionInfo.Password = "123 " oRpt.Database.Tables(0).Apply
logonInfo(
logonInfo) Next ''CrystalReportViewer1.ReportSource = oRpt '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Dim p
aramFields As New P
arameterFields Dim p
aramField As New P
arameterField Dim
discreteVal As New P
arameter
discreteValue Dim rangeVal As New P
arameterRangeValue '' 第
一个参数是具有多个值的离散参数。 '' 设置参数字段的
名称,它必须 ''和报表中的参数相符。 p
aramField.P
arameterFieldName = "@StartingItem " '' 设置第
一个离散值并将其传递给该参数
discreteVal.Value = "FG-AL03AU0100-B " p
aramField.CurrentValues.Add(
discreteVal) '' 设置第二个离散值并将其传递给该参数。 ''
discreteVal 变量被设置为新值,这样,以前的设置 ''就不会被覆盖。 ''
discreteVal = New P
arameter
discreteValue ''
discreteVal.Value = "FG-AL01AU0100 " ''p
aramField.CurrentValues.Add(
discreteVal) '' 将该参数
添加到参数字段集合。 p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@EndingItem "
discreteVal.Value = "FG-AL03AU0100-B " p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@StartingProCode "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@EndingProCode "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@MaterialType "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@Source "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@Stocked "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@ABCCode "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@EffectiveDate "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@EffectiveDateOffset "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@PageJob "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@PrintLevelZero "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@
displayRefer "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@
displayHeader "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@PrintAlternateMaterials "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@FgTypeQty "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@FgQty "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@Start
vendorItem "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) p
aramField = New P
arameterField p
aramField.P
arameterFieldName = "@End
vendorItem "
discreteVal.Value = tmp p
aramField.CurrentValues.Add(
discreteVal) p
aramFields.Add(p
aramField) '' 将参数字段集合放入查看器控件。 CrystalReportViewer1.P
arameterFieldInfo = p
aramFields CrystalReportViewer1.ReportSource = oRpt End Sub End Class __________________________________________________________________________ 你p
aramField.P
arameterFieldName = "@EndingItem "这里的值跟报表中的参数相符吗?
discreteVal.Value = tmp 感觉这里有问题 __________________________________________________________________________ '' 新建
一个离散值
discreteVal = New P
arameter
discreteValue() 把这句
加上去。 __________________________________________________________________________ 我只选其中
一个项目,即开始和结束一样的,这个没问题 关键问题是参数和服务器
注册信息没有被接受,我只留下面
内容,报表一样的
显示结果: Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Partial Class _Default Inherits Sy
stem.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object,ByVal e As Sy
stem.EventArgs) Handles Me.Load Dim
logonInfo As New Table
logonInfo Dim oRpt As New ReportDocument Dim i As Int16 Dim tmp As
dbnull oRpt.Load( "c:/a/IndentedCurrentBillOfMaterial.rpt ") CrystalReportViewer1.ReportSource = oRpt end sub 也就是说那些没起作用,为什么啊? __________________________________________________________________________ 这样啊,感觉你少东西了。 基本格式: '' 设置报表源 oRpt = New ReportDocument() oRpt.Load(GetReportPath(RPT_NAME)) '' 设置参数 CrystalReportViewer1.P
arameterFieldInfo = GetP
arameterInfo(CType(Session( "list "),ListItemCollection)) //这一句少了。 CrystalReportViewer1.ReportSource = oRpt ''
显示报表 CrystalReportViewer1.DataBind()//这一句少了。 __________________________________________________________________________ GetP
arameterInfo这个
方法里是设置参数的 __________________________________________________________________________
提示未申请GetP
arameterInfo这个
方法啊 能否给完整
代码我看看,TKS! __________________________________________________________________________ Imports CrystalDecisions.Shared Imports CrystalDecisions.CrystalReports.Engine Private Const RPT_NAME As String = "CustomerOrders.rpt " Private Const P
araMETER_FIELD_NAME As String = "CustomerID " Private Sub Page_Load(ByVal sender As Sy
stem.Object,ByVal e As Sy
stem.EventArgs) Handles MyBase.Load ''在此处放置初始化页的
用户代码 '' 设置报表源 report = New ReportDocument() report.Load(GetReportPath(RPT_NAME)) '' 设置参数 crvOrders.P
arameterFieldInfo = GetP
arameterInfo(CType(Session( "list "),ListItemCollection)) crvOrders.ReportSource = report ''
显示报表 crvOrders.DataBind() End Sub __________________________________________________________________________ Private Function GetP
arameterInfo(ByVal list As ListItemCollection) As P
arameterFields Dim item As ListItem Dim isEmpty As Boolean = True Dim itemCount As Integer = 0 '' 声明将参数传递给查看器控件所需的变量。 Dim p
aramFields As New P
arameterFields() Dim p
aramField As New P
arameterField() Dim
discreteVal As New P
arameter
discreteValue() '' 参数是具有多个值的离散参数。 '' 设置参数字段的
名称,它必须和报表中的参数相符。 p
aramField.P
arameterFieldName = P
araMETER_FIELD_NAME For Each item In list If item.Selected Then isEmpty = False itemCount += 1 '' 设置
一个离散值并将其传递给该参数
discreteVal.Value = item.Value p
aramField.CurrentValues.Add(
discreteVal) '' 新建
一个离散值
discreteVal = New P
arameter
discreteValue() End If Next If isEmpty Then For Each item In list '' 设置
一个离散值并将其传递给该参数
discreteVal.Value = item.Value p
aramField.CurrentValues.Add(
discreteVal) '' 新建
一个离散值
discreteVal = New P
arameter
discreteValue() Next End If '' 将该参数
添加到参数字段集合。 p
aramFields.Add(p
aramField) GetP
arameterInfo = p
aramFields End Function __________________________________________________________________________ 这程序一定有问题GetP
arameterInfo
函数一个参数,而你
调用时有两个参数 __________________________________________________________________________ 程序不成功,一样没用啊 __________________________________________________________________________ To yangzhum(yangzhum): 哪里
调用时有两个参数????? GetP
arameterInfo(CType(Session( "list "),ListItemCollection))
在这里CType(Session( "list "),ListItemCollection)是
一个参数好伐!!!!!! __________________________________________________________________________ TO:LAOC() ( ) 应该是两个参数,不知怎的算
一个,TKS! 原来是存储过程
支持性很差,比喻先存储过程有条插入语句,最后一条select语句,则不成功 __________________________________________________________________________
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。