获取Crystal中的默认值描述

时间:2012-11-19 13:58:17

标签: c# crystal-reports

我正在尝试从Crystal Reports参数中获取默认值描述。这是我正在使用的代码。要测试我正在使用消息框的值。这是我的代码。消息框显示为空。

foreach (ParameterField param in clsCrystal.cryRtp.ParameterFields)
{
    if (param.Name.Equals("ShowUp"))
    {
        MessageBox.Show( param.DefaultValues[0].Description.ToString());
    }
}

编辑: 我想出了如何获取参数字段的默认值的值,但描述仍在回避我。以下是获取默认值的工作代码。

foreach (ParameterField param in clsCrystal.cryRtp.ParameterFields)
{
    if (param.Name.Equals("ShowUp"))
    {
        foreach (ParameterDiscreteValue Dvalue in param.DefaultValues)
        {
            MessageBox.Show("the value is " + Dvalue.Value.ToString() + " and the description... " + Dvalue.Description);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

显然 ParameterFields 不如 DataDefinition.ParameterFields 那么健壮。我在这个链接找到了答案。 http://scn.sap.com/thread/889809似乎 ParameterFields 旨在让您更容易向参数添加值,而 DataDefinition.ParameterFields 是真正的对象,如果您真的想要看看周围的东西。

foreach (ParameterFieldDefinition param in clsCrystal.cryRtp.DataDefinition.ParameterFields)
{
    if (param.Name.Equals("ShowUp"))
    {
        foreach (ParameterValue parameterValue in param.DefaultValues)
        {
            if (!parameterValue.IsRange)
            {
                ParameterDiscreteValue parameterDiscreteValue = (ParameterDiscreteValue)parameterValue;
                MessageBox.Show(parameterDiscreteValue.Description);
            }
        }
    }
}

关于代码和文档的令人难以置信的混乱是我实际上可以在我的代码中设置和读取默认描述。当他们从Crystal Reports Designer中设置时,我无法读取它们。