在ActiveReports中,如何根据报表数据中的值更改格式?
具体来说,我想根据数据中的值显示或隐藏图片 . 报告通过集合绑定到对象列表到其DataSource属性 . 这些对象具有 Condition 属性,其值为"Poor","Normal"等 . 我在报告中有一些与不同条件对应的图片,我想要隐藏除了与该值对应的图片之外的所有图片 .
Condition
我应该为详细信息部分订阅 Format 事件吗?如果是这样,我如何获得"current record"数据?
Format
好吧,我仍然不知道如何获取当前数据对象,但我发现您可以使用报告的Fields属性来检索当前数据对象的值 .
下面的代码订阅了详细信息部分的Format事件 . Fields [“Condition”] . Value获取当前数据对象的Condition属性的值(恰好是枚举值) .
private void detail_Format(object sender,EventArgs e){条件? condition = Fields [“Condition”] . 值为条件?;
conditionUnknownPicture.Visible =(condition == Condition.Unknown);conditionPoorPicture.Visible =(condition == Condition.Poor);conditionNormalPicture.Visible =(condition == Condition.Normal);conditionNewPicture.Visible =(condition == Condition.New);}
Edit:
我've since learned that accessing the Fields collection from a Format event is against the ActiveReports design rules, because it doesn'在某些奇怪的角落里工作 . 我现在使用这种方法:http://www.datadynamics.com/forums/ShowPost.aspx?PostID=133642#133642
DataDynamics具有功能请求22786,以提供对来自Format事件的数据对象的访问 .
1 回答
好吧,我仍然不知道如何获取当前数据对象,但我发现您可以使用报告的Fields属性来检索当前数据对象的值 .
下面的代码订阅了详细信息部分的Format事件 . Fields [“Condition”] . Value获取当前数据对象的Condition属性的值(恰好是枚举值) .
private void detail_Format(object sender,EventArgs e)
{
条件? condition = Fields [“Condition”] . 值为条件?;
conditionUnknownPicture.Visible =(condition == Condition.Unknown);
conditionPoorPicture.Visible =(condition == Condition.Poor);
conditionNormalPicture.Visible =(condition == Condition.Normal);
conditionNewPicture.Visible =(condition == Condition.New);
}
Edit:
我've since learned that accessing the Fields collection from a Format event is against the ActiveReports design rules, because it doesn'在某些奇怪的角落里工作 . 我现在使用这种方法:http://www.datadynamics.com/forums/ShowPost.aspx?PostID=133642#133642
DataDynamics具有功能请求22786,以提供对来自Format事件的数据对象的访问 .