在ActiveReports中,如何更改格式化基于值在报告数据?

具体地讲,我要显示或隐藏基于在数据的值的图像。该报告被通过一组其DataSource属性绑定到对象的列表。这些对象有值“差”,“一般”等一Condition财产我在报告中的一些照片对应于不同的条件,我想隐藏除对应值的一个的所有图片。

我应该订阅的详细部分中的事件Format?如果是这样,我怎么了“当前记录”的数据?

有帮助吗?

解决方案

好吧,我还是不知道如何获得当前的数据对象,但我发现,您可以使用该报告的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);
    }

修改

我因为了解到,从格式事件访问Fields集合是对的ActiveReports设计规则,因为它并不在某些怪异的角落情况下工作。我现在用这个方法来代替: http://www.datadynamics.com /forums/ShowPost.aspx?PostID=133642#133642

DataDynamics具有特征请求22786,以提供从格式事件对数据的访问的对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top