Скрывать Memo по условию
Добрый день!
Использую FastReport 2.5
Сделал товарную накладную, в верхней части располагаются реквизиты Грузополучателя, Грузоотправителя и т.д., состоящие в том числе из факсов,
р/с, корр/с, БИК.
Часто бывает так, что соответствующие поля таблиц в БД не заполнены, а ввиду того, что каждый реквизит отображается отдельным Memo типа:
"тел. [DialogForm.qr1."Phone1"], "
то накладная вместо необходимой пустоты содержит названия реквизитов и запятые.
Я так понимаю, что надо сделать Memo.Visible = True, если например [DialogForm.qr1."Phone1"] <> Null или 0.
Но как это сделать?! Подскажите пожалуйста!
И если другим способом, то каким?!
Буду благодарен за ответы!
Использую FastReport 2.5
Сделал товарную накладную, в верхней части располагаются реквизиты Грузополучателя, Грузоотправителя и т.д., состоящие в том числе из факсов,
р/с, корр/с, БИК.
Часто бывает так, что соответствующие поля таблиц в БД не заполнены, а ввиду того, что каждый реквизит отображается отдельным Memo типа:
"тел. [DialogForm.qr1."Phone1"], "
то накладная вместо необходимой пустоты содержит названия реквизитов и запятые.
Я так понимаю, что надо сделать Memo.Visible = True, если например [DialogForm.qr1."Phone1"] <> Null или 0.
Но как это сделать?! Подскажите пожалуйста!
И если другим способом, то каким?!
Буду благодарен за ответы!
Комментарии
begin
if [DialogForm.qr1."Fax"]<> NULL
then
Memo167.Visible := True
else
Memo167.Visible := False
end
Memo167 вида: "ф. [DialogForm.qr1."Fax"],"
В текущем состоянии данных из "Fax" нет, а в отчете все равно отображается
"ф.,"
Подскажите, что не так я делаю?!
Попробуйте следующее в Memo167.Memo поставте переменную, например, [FAX], ниже напишите:
begin
if [DialogForm.qr1."Fax"] = '' then
FAX := ''
else
FAX := "ф. " + [DialogForm.qr1."Fax"] ;
end;
begin
if [DialogForm.qr1."Fax"] = '' then
FAX := ''
else
FAX := "ф. " + [DialogForm.qr1."Fax"] ;
end;
end
при отсутствии значений "Fax"(тип поля nvarchar(50)) Memo пуст, но в обратном случае в отчете отображается "0".
Получается это не подходит...
Как быть?
FAX := "ф. " + [DialogForm.qr1."Fax"] ;
,а
FAX := "ф. [DialogForm.qr1."Fax"],"
иногда помогает)
Сделал также, только упростил с учетом типа поля nvarchar:
begin
Memo167.Visible:=not (([DialogForm.qr1."Fax"]=NULL) or
(trim([DialogForm.qr1."Fax"])=''));
end