将当前值应用于报表的指定参数字段。
[Visual Basic]
Public Overrideable Sub ApplyCurrentValues( _ ByVal currentValue As CrystalDecisions.Shared.ParameterValues _ )
[C#]
public virtual void ApplyCurrentValues(
CrystalDecisions.Shared.ParameterValues currentValue
);
参数
- currentValue
包含为参数设置的当前值。
备注
设置的当前值应在 EditMask、MaximumValue 和 MinimumValue 属性的作用域内(如果设置了这些属性)。有关编辑掩码的更多信息,请参见Limiting Entry Type and Format in Parameters。
示例
下面的示例为一个区域参数设置了当前值、为子报表中的一个离散参数设置了多个默认值,并为一个离散参数设置了最小值和最大值。
[VJ#]
private void setParameters(Float startValue, Float endValue,
Integer discreteValue1, Integer discreteValue2, Integer minValue,
Integer maxValue)
{
ParameterDiscreteValue discreteParam = new
ParameterDiscreteValue();
ParameterRangeValue rangeParam = new ParameterRangeValue();
ParameterFieldDefinition paramField;
ParameterValues currentValues;
ParameterValues defaultValues;
paramField = Report.get_DataDefinition()
.get_ParameterFields().get_Item("RangedParam");
rangeParam.set_StartValue(startValue);
rangeParam.set_EndValue(endValue);
currentValues = paramField.get_CurrentValues();
currentValues.Add(rangeParam);
paramField.ApplyCurrentValues(currentValues);
paramField = Report.get_DataDefinition()
.get_ParameterFields().get_Item("DiscreteParam", "sub1");
paramField.ApplyMinMaxValues(minValue, maxValue);
discreteParam.set_Value(discreteValue1);
defaultValues = paramField.get_DefaultValues();
defaultValues.Add(discreteParam);
paramField.ApplyDefaultValues(defaultValues);
discreteParam = new ParameterDiscreteValue();
discreteParam.set_Value(discreteValue2);
defaultValues = paramField.get_DefaultValues();
defaultValues.Add(discreteParam);
paramField.ApplyDefaultValues(defaultValues);
}
[Visual Basic]
Private Sub SetParameters( _
ByVal startValue As Double, ByVal endValue As Double, _
ByVal discreteValue1 As Integer, _
ByVal discreteValue2 As Integer, _
ByVal minValue As Integer, ByVal maxValue As Integer)
Dim discreteParam As New ParameterDiscreteValue()
Dim rangeParam As New ParameterRangeValue()
Dim paramField As ParameterFieldDefinition
Dim currentValues As ParameterValues
Dim defaultValues As ParameterValues
paramField = _
Report.DataDefinition.ParameterFields.Item("RangedParam")
rangeParam.StartValue = startValue
rangeParam.EndValue = endValue
currentValues = paramField.CurrentValues
currentValues.Add(rangeParam)
paramField.ApplyCurrentValues(currentValues)
paramField = _
Report.DataDefinition.ParameterFields.Item("DiscreteParam", "sub1")
paramField.ApplyMinMaxValues(minValue, maxValue)
discreteParam.Value = discreteValue1
defaultValues = paramField.DefaultValues
defaultValues.Add(discreteParam)
paramField.ApplyDefaultValues(defaultValues)
discreteParam = New ParameterDiscreteValue()
discreteParam.Value = discreteValue2
defaultValues = paramField.DefaultValues
defaultValues.Add(discreteParam)
paramField.ApplyDefaultValues(defaultValues)
End Sub
[C++]
void SetParameters(float startValue, float endValue,
int discreteValue1, int discreteValue2, int minValue,
int maxValue)
{
ParameterDiscreteValue* discreteParam = new
ParameterDiscreteValue();
ParameterRangeValue* rangeParam = new ParameterRangeValue();
ParameterFieldDefinition* paramField;
ParameterValues* currentValues;
ParameterValues* defaultValues;
paramField =
Report->DataDefinition->ParameterFields->Item["RangedParam"];
rangeParam->StartValue = __box(startValue);
rangeParam->EndValue = __box(endValue);
currentValues = paramField->CurrentValues;
currentValues->Add(rangeParam);
paramField->ApplyCurrentValues(currentValues);
paramField = Report->DataDefinition->ParameterFields->Item
["DiscreteParam", "sub1"];
paramField->ApplyMinMaxValues(__box(minValue), __box(maxValue));
discreteParam->Value = __box(discreteValue1);
defaultValues = paramField->DefaultValues;
defaultValues->Add(discreteParam);
paramField->ApplyDefaultValues(defaultValues);
discreteParam = new ParameterDiscreteValue();
discreteParam->Value = __box(discreteValue2);
defaultValues = paramField->DefaultValues;
defaultValues->Add(discreteParam);
paramField->ApplyDefaultValues(defaultValues);
};
[C#]
private void SetParameters(float startValue, float endValue,
int discreteValue1, int discreteValue2, int minValue,
int maxValue)
{
ParameterDiscreteValue discreteParam = new
ParameterDiscreteValue();
ParameterRangeValue rangeParam = new ParameterRangeValue();
ParameterFieldDefinition paramField;
ParameterValues currentValues;
ParameterValues defaultValues;
paramField =
Report.DataDefinition.ParameterFields["RangedParam"];
rangeParam.StartValue = startValue;
rangeParam.EndValue = endValue;
currentValues = paramField.CurrentValues;
currentValues.Add(rangeParam);
paramField.ApplyCurrentValues(currentValues);
paramField = Report.DataDefinition.ParameterFields
["DiscreteParam", "sub1"];
paramField.ApplyMinMaxValues(minValue, maxValue);
discreteParam.Value = discreteValue1;
defaultValues = paramField.DefaultValues;
defaultValues.Add(discreteParam);
paramField.ApplyDefaultValues(defaultValues);
discreteParam = new ParameterDiscreteValue();
discreteParam.Value = discreteValue2;
defaultValues = paramField.DefaultValues;
defaultValues.Add(discreteParam);
paramField.ApplyDefaultValues(defaultValues);
}
要求
命名空间 CrystalDecisions.CrystalReports.Engine
程序集 CrystalDecisions.CrystalReports.Engine (CrystalDecisions.CrystalReports.Engine.dll)
请参见
ParameterFieldDefinition 类 | ParameterFieldDefinition 成员 | CrystalDecisions.CrystalReports.Engine 命名空间
©2005 Business Objects SA 保留所有权利。
| Business Objects SA http://www.china.businessobjects.com/ 支持服务 http://www.china.businessobjects.com/ |