我想在vb.net里边写代码,给水晶报表的数据源存储过程设置参数,就在mdsn里边搜索"参数字段"选择"参数字段运行时自定义"里边给的示例代码如下:
在运行时修改参数字段
[Visual Basic]
' 声明将参数传递给 ' 查看器控件所需的变量。 Dim paramFields As New ParameterFields() Dim paramField As New ParameterField() Dim discreteVal As New ParameterDiscreteValue() Dim rangeVal As New ParameterRangeValue() ' 第一个参数是具有多个值的离散参数。 ' 设置参数字段的名称,它必须 ' 和报表中的参数相符。 paramField.ParameterFieldName = "Customer Name" ' 设置第一个离散值并将其传递给该参数 discreteVal.Value = "AIC Childrens" paramField.CurrentValues.Add(discreteVal) ' 设置第二个离散值并将其传递给该参数。 ' discreteVal 变量被设置为新值,这样,以前的设置 ' 就不会被覆盖。 discreteVal = New ParameterDiscreteValue() discreteVal.Value = "Aruba Sport" paramField.CurrentValues.Add(discreteVal) ' 将该参数添加到参数字段集合。 paramFields.Add(paramField) ' 第二个参数为区域值。paramField 变量 ' 被设置为新值,这样,以前的设置就不会被覆盖。 paramField = New ParameterField() ' 设置参数字段的名称,它必须 ' 和报表中的参数相符。 paramField.ParameterFieldName = "Customer ID" ' 设置区域的开始值和结束值并将区域传递给该参数。 rangeVal.StartValue = 42 rangeVal.EndValue = 72 paramField.CurrentValues.Add(rangeVal) ' 将第二个参数添加到参数字段集合。 paramFields.Add(paramField) ' 将参数字段集合放入查看器控件。 crystalReportViewer1.ParameterFieldInfo = paramFields crystalReportViewer1.ReportSource = "c:/reports/my report.rpt"
但是我在vs2003里边这样写了以后,代码中蓝色的部分就变成了
Dim paramFields As New ParameterFields Dim paramField As New ParameterField Dim discreteVal As New ParameterDiscreteValue Dim rangeVal As New ParameterRangeValue
而红色部分的代码都可以用,但是传不进去参数.
不知道是什么原因,请高手给予解答,谢谢!