0

我正在尝试从 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);
        }
    }
}
4

1 回答 1

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 设计器设置它们时,我只是无法阅读它们。

于 2012-11-20T13:33:33.717 回答