powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как заставить FastReport не отображать строку...
7 сообщений из 7, страница 1 из 1
Как заставить FastReport не отображать строку...
    #33548647
Turetskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо задать условие типа: если такое-то memo = 0 то строку не отображать в отчете.., вот только как это сделать??
Подскажите плиз...
...
Рейтинг: 0 / 0
Как заставить FastReport не отображать строку...
    #33549444
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На событие нужного обьекта отчета (например Memo2) BeforePrint на написать на скриптовом языке (пример на PascalScript):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
//  1 . Проверка условия через обьект отчета Memo1:
if StrToInt(Memo1.Text) =  0  then Memo2.Text = 'ZERO';

//  2 . Проверка условия через поле БД:
if <Query1.Field1> =  0   then Memo2.Text = 'ZERO';

//  3 . Проверка условия через глобальную переменную, 
// к которой можно обратиться в отчете как [Var1]:
if Get('Var1') =  0  then Memo2.Text = 'ZERO';

P.S. http://www.fast-report.com - родной сайт FastReport, где можно скачать документацию, демонстрационные примеры, задать вопрос разработчикам и пользователям FastReport.
...
Рейтинг: 0 / 0
Как заставить FastReport не отображать строку...
    #33555090
Turetskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pardon, наверное я что-то напутал, но...
проблема как раз не совсем в условии, а в
том чтобы скрывать ненужную строку.

Например:
ФИО Адрес Лиц. Счет Долг

Иванов И.И. с.NewВасюки 31337 100$

но если поле "Долг" пустое, стало быть г-н Иванов ничего не
должен и печатать в отчете всю эту строку не нужно, но нужно
ее обязательно скрыть.
Понимаю, что подход мягко говоря тупой, но изменить в этом
отношении ничего не могу, остается только подстраиваться... :-(
...
Рейтинг: 0 / 0
Как заставить FastReport не отображать строку...
    #33575135
Ди_ма
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не проще ли таки поставить требуемое условие на запрос?
...
Рейтинг: 0 / 0
Как заставить FastReport не отображать строку...
    #33584508
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TuretskiyPardon, наверное я что-то напутал, но...
проблема как раз не совсем в условии, а в
том чтобы скрывать ненужную строку.

Например:
ФИО Адрес Лиц. Счет Долг

Иванов И.И. с.NewВасюки 31337 100$

но если поле "Долг" пустое, стало быть г-н Иванов ничего не
должен и печатать в отчете всю эту строку не нужно, но нужно
ее обязательно скрыть.
Понимаю, что подход мягко говоря тупой, но изменить в этом
отношении ничего не могу, остается только подстраиваться... :-(Ну, у тебя же данные выводятся через MasterData?
Вот и пиши в обработчике этого бенда примерно следующую лабуду:

Код: plaintext
1.
if ([Query1.Field1] =  0 )
then MasterData1.Visible := false;
Где Masterdata1 - имя твоего мастер бэнда
...
Рейтинг: 0 / 0
Как заставить FastReport не отображать строку...
    #33585725
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимор КоневНу, у тебя же данные выводятся через MasterData?
Вот и пиши в обработчике этого бенда примерно следующую лабуду:

Код: plaintext
1.
if ([Query1.Field1] =  0 )
then MasterData1.Visible := false;
Где Masterdata1 - имя твоего мастер бэндаУтро вечера мудренее...
Вот так, конечно же, было бы правильнее:
Код: plaintext
MasterData1.Visible := ([Query1.Field1] <>  0 );
...
Рейтинг: 0 / 0
Как заставить FastReport не отображать строку...
    #33599804
midavik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот можно еще примерно так...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TfDM.frDBDataSet1Open(Sender: TObject);
begin
 with frDBDataSet1.DataSet do
  begin
    Filtered := False;
    Filter := 'your_field_name <> null';
    Filtered := True;
  end;
end;

procedure TfDM.frDBDataSet1Close(Sender: TObject);
begin
 with frDBDataSet1.DataSet do Filtered := False;
end;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как заставить FastReport не отображать строку...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]