Не отображать строки
задача: не изменяя датасет (трогать sql запрос нельзя ) не отображать в отчете строки, в которых определенное поле нулевое
например, меню:
Пункт1 150.00р
Пункт2 0.00р
Пункт3 100.00р
Пункт4 0.00р
необходимо отображать только
Пункт1 150.00р
Пункт3 100.00р
подскажите, куда копать?
например, меню:
Пункт1 150.00р
Пункт2 0.00р
Пункт3 100.00р
Пункт4 0.00р
необходимо отображать только
Пункт1 150.00р
Пункт3 100.00р
подскажите, куда копать?
Комментарии
MasterData1.Visible := ABS(<YourDatasetName."FieldName">) > 0.0001;
А как скрыть первый пустой столбец в отчете (смотреть картинку) в случае строки на пол-листа ?
Отчет представляет собой печать чисел на формате размером по пол-листа в 2 колонки,
если значение меньше 100 скрываем бэнд :
if <element> < 100 then
begin MasterData1.visible := false
else MasterData1.visible := true ;
Но если числа < 100 попадают на 2 и так далее страницу, то они все красиво убираются, но вот для первой колонки это не работает
саму этикетку скрывает, но печатает пустую колонку. например последовательность 3,100,200,12,800 ...
Для Portrait еще помогает код
if (<Line> = 2) and (not MasterData1.Visible) then Engine.CurX := 0 ;
А для landscape ориентации это не работает !!!
Пофиксил frxEngine.pas.
В моем случае бэнд как раз и есть с двумя столбцами.
И вроде как заработало, строки <100 благополучно убираются без пустых страничек.
Бум надеяться, что это работает во всех случаях.