Хорошо, я все еще не знаю, как получить текущий объект данных, но я обнаружил, что вы можете использовать свойство отчета 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);
}
Edit:
С тех пор я узнал, что доступ к коллекции Fields из события Format противоречит правилам разработки ActiveReports, поскольку он не работает в некоторых странных угловых случаях. Теперь я использую этот метод вместо: http://www.datadynamics.com/forums/ShowPost.aspx?PostID=133642#133642
DataDynamics имеет запрос функции 22786 для предоставления доступа к объектам данных из событий Format.