ActiveReports条件格式 - 图片可见性

时间:2010-03-16 00:03:48

标签: c# formatting conditional activereports

在ActiveReports中,如何根据报表数据中的值更改格式?

具体来说,我想根据数据中的值显示或隐藏图片。报告通过集合绑定到对象列表到其DataSource属性。这些对象具有Condition属性,其值为“差”,“正常”等。我在报告中有一些对应于不同条件的图片,我想要隐藏除了对应的图片之外的所有图片价值。

我应该订阅详细信息部分的Format事件吗?如果是这样,我如何获得“当前记录”数据?

1 个答案:

答案 0 :(得分:1)

好的,我仍然不知道如何获取当前数据对象,但我发现您可以使用报告的Fields属性来检索当前数据对象的值。

以下代码订阅了详细信息部分的Format事件。 Fields["Condition"].Value获取当前数据对象的Condition属性的值(恰好是枚举值)。

    private void detail_Format(object sender, EventArgs e)
    {
        Condition? condition = Fields["Condition"].Value as Condition?;

        conditionUnknownPicture.Visible = (condition == Condition.Unknown);
        conditionPoorPicture.Visible = (condition == Condition.Poor);
        conditionNormalPicture.Visible = (condition == Condition.Normal);
        conditionNewPicture.Visible = (condition == Condition.New);
    }

修改

我已经了解到从Format事件访问Fields集合是违反ActiveReports设计规则的,因为它在某些奇怪的角落情况下不起作用。我现在使用此方法:http://www.datadynamics.com/forums/ShowPost.aspx?PostID=133642#133642

DataDynamics有一个功能请求22786,用于提供对Format事件中数据对象的访问。