水晶报表传值的问题
我在form里记录集调用了select * from zichan where CunFangDiDian='" & Me.Combo1.Text & "'"的数据
但是到了水晶报表里面怎么样或取在form那边选择的'" & Me.Combo1.Text & "'里的内容呢,请高手指教...
问题点数:100、回复次数:6Top
1 楼haoliqi(学习男孩)回复于 2003-11-03 22:40:57 得分 0
建个xsd数据集,把DataSet推给报表Top
2 楼shanmin(shanmin)回复于 2003-11-03 22:44:27 得分 100
//向报表传递参数
ParameterFields ParamFields = new ParameterFields();
ParameterField ParamField1 = new ParameterField();
ParameterValues ParamValues1 = new ParameterValues();
ParameterDiscreteValue ParamValue1 = new ParameterDiscreteValue();
ParamValue1.Value="测试公司";
ParamValues1.Add(ParamValue1);
ParamField1.ParameterFieldName="LicensedTo"; // 参数名
ParamField1.CurrentValues=ParamValues1;
ParamFields.Add(ParamField1);
this.crystalReportViewer.ParameterFieldInfo = ParamFields;Top
3 楼alex198342(努力)回复于 2003-11-03 22:58:06 得分 0
各位老大,我是在VB里做的,可以用VB的语法写个例子看看吗?Top
4 楼alex198342(努力)回复于 2003-11-03 23:48:56 得分 0
高手帮帮忙吧,很急的...Top
5 楼shanmin(shanmin)回复于 2003-11-03 23:58:27 得分 0
我用c#写的,和vb基本一样压。Top
6 楼haibodotnet(海波.NET)回复于 2003-11-04 09:54:47 得分 0
水晶报表参数编程示例代码(作者:海波.NET,更新:2003-10-21-1)
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Private Const RPT_NAME As String = "CustomerOrders.rpt"
Private Const PARAMETER_FIELD_NAME As String = "CustomerID"
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
' 设置报表源
report = New ReportDocument()
report.Load(GetReportPath(RPT_NAME))
' 设置参数
crvOrders.ParameterFieldInfo = GetParameterInfo(CType(Session("list"), ListItemCollection))
crvOrders.ReportSource = report
' 显示报表
crvOrders.DataBind()
End Sub
'----------------------------------------------------------------
' Function GetParameterInfo:
' 从复选框列表获取参数字段信息
' Returns:
' 参数字段
' Parameters:
' [in] list: 复选框列表
' Throws:
'
' PreConditions:
'
'----------------------------------------------------------------
Private Function GetParameterInfo(ByVal list As ListItemCollection) As ParameterFields
Dim item As ListItem
Dim isEmpty As Boolean = True
Dim itemCount As Integer = 0
' 声明将参数传递给查看器控件所需的变量。
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()
Dim discreteVal As New ParameterDiscreteValue()
' 参数是具有多个值的离散参数。
' 设置参数字段的名称,它必须和报表中的参数相符。
paramField.ParameterFieldName = PARAMETER_FIELD_NAME
For Each item In list
If item.Selected Then
isEmpty = False
itemCount += 1
' 设置一个离散值并将其传递给该参数
discreteVal.Value = item.Value
paramField.CurrentValues.Add(discreteVal)
' 新建一个离散值
discreteVal = New ParameterDiscreteValue()
End If
Next
If isEmpty Then
For Each item In list
' 设置一个离散值并将其传递给该参数
discreteVal.Value = item.Value
paramField.CurrentValues.Add(discreteVal)
' 新建一个离散值
discreteVal = New ParameterDiscreteValue()
Next
End If
' 将该参数添加到参数字段集合。
paramFields.Add(paramField)
GetParameterInfo = paramFields
End FunctionTop




