Условное форматирование ActiveReports - Видимость изображения

StackOverflow https://stackoverflow.com/questions/2451321

Вопрос

Как я могу изменить форматирование в ActiveReports на основе значений в данных отчета?

В частности, я хочу показывать или скрывать изображения на основе значения в данных.Отчет привязывается к списку объектов с помощью набора для его свойства DataSource.Эти объекты имеют Condition свойство со значениями "Плохое", "Нормальное" и т.д.У меня есть несколько изображений в отчете, которые соответствуют различным условиям, и я хочу скрыть все изображения, за исключением того, которое соответствует значению.

Должен ли я подписаться на Format событие для раздела "Подробности"?Если да, то как мне перейти к данным "текущей записи"?

Это было полезно?

Решение

Хорошо, я все еще не знаю, как получить текущий объект данных, но я обнаружил, что вы можете использовать отчет Fields свойство для извлечения значений из текущего объекта данных.

Приведенный ниже код соответствует описанию подробного раздела Format событие. Fields["Condition"].Value возвращает значение текущего объекта данных Condition свойство (которое, оказывается, является значением enum).

    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 противоречит правилам проектирования ActiveReports, потому что это не работает в некоторых странных угловых случаях.Теперь я использую этот метод вместо: http://www.datadynamics.com/forums/ShowPost.aspx ?Почтовый индекс=133642#133642

DataDynamics имеет функциональный запрос 22786 для предоставления доступа к объектам данных из событий Format.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top