Fórum ocultando coluna no fastreport em tempo de execução #596468

17/08/2018

0

bom dia, comunidade.
Estou com um questão que não consigo resolver e vim pedir ajuda.
Tem um relatório em fastreport que oculto duas colunas em tempo de execução.
Para isso, no OnAfterPrint do MasterData1, tenho essa programação:
//////////////////////////////////////////////////////////////////
if (<pega>)=''''barrafunda'''' then
begin
frxDBDListac1preco.visible := false;
SysMemo3.Visible:= false;
Line6.Visible:= false;
Line7.Visible:= false;
Memo11.Visible:= false;
Memo12.Visible:= false;
end
else
begin
frxDBDListac1preco.visible := true;
SysMemo3.Visible:= true;
Line6.Visible:= true;
Line7.Visible:= true;
Memo11.Visible:= true;
Memo12.Visible:= true;
end
//////////////////////////////////////////////////////////////////
Problema é que quando executo verifica si o que está na variável "pega" é "barrafunda", si for ele oculta os campos senão, ele deixa visível.
Até funciona, mas ele mostra um linha com registro.

O que será?
Wmf Consultoria

Wmf Consultoria

Responder

Posts

23/08/2018

Marcos Alves

Se você deseja ocultar a linha tente:

if (<pega>)=''''barrafunda'''' then
MasterData1.Visible:= False
else
MasterData1.Visible:= True;

Responder

Gostei + 0

23/08/2018

Wmf Consultoria

opa. obrigado, mas refiz a rotina e deu certo, fui no MasterData1 em "OnBeforePrin" e criei a rotina abaixo:<br />
/////// inicio /////// <br />
if ((<pega>)=''Barra Funda'') or ((<pega>)=''Divulgadores'') then<br />
begin<br />
frxDBDListac1preco.visible := false; <br />
Memo3.Visible:= false;<br />
Line6.Visible:= false;<br />
Line7.Visible:= false; <br />
Memo11.Visible:= false;<br />
Memo12.Visible:= false;<br />
<br />
Memo14.Visible:= false;<br />
Memo15.Visible:= false;<br />
Memo16.Visible:= false; <br />
<br />
SysMemo2.Visible:= false;<br />
SysMemo4.Visible:= false;<br />
//SysMemo5.Visible:= false;<br />
Line1.Width :=548; <br />
Shape1.Width :=550;<br />
// Shape2.Width :=550 <br />
end <br />
else<br />
begin <br />
frxDBDListac1preco.visible := true;<br />
Memo3.Visible:= true;<br />
Line6.Visible:= true;<br />
Line7.Visible:= true; <br />
Memo11.Visible:= true;<br />
Memo12.Visible:= true;<br />
<br />
Memo14.Visible:= true;<br />
Memo15.Visible:= true;<br />
Memo16.Visible:= true; <br />
<br />
SysMemo2.Visible:= true;<br />
SysMemo4.Visible:= true;<br />
// SysMemo5.Visible:= true;<br />
Line1.Width :=716; <br />
Shape1.Width :=718; <br />
// Shape2.Width :=718 <br />
end; <br />
/////// fim /////// <br />
<br />
<br />
Criei também a rotina no GroupHeader1 em "OnBeforePrint" e criei a rotina abaixo:<br />
/////// inicio /////// <br />
if ((<pega>)=''Barra Funda'') or ((<pega>)=''Divulgadores'') then<br />
begin<br />
Memo11.Visible:= false;<br />
Memo12.Visible:= false;<br />
Memo16.Visible:= false;<br />
frxDBDListac1valortotal.Visible:= false; <br />
Line1.Width :=548; <br />
Shape1.Width :=550; <br />
// Shape2.Width :=550 <br />
end <br />
else<br />
begin <br />
Memo11.Visible:= true;<br />
Memo12.Visible:= true;<br />
Memo16.Visible:= true;<br />
frxDBDListac1valortotal.Visible:= true; <br />
Line1.Width :=716; <br />
Shape1.Width :=718; <br />
// Shape2.Width :=718 <br />
<br />
end; <br />
/////// fim ///////<br />
<br />
<br />
<br />
Ambos deram certo, quando executo o relatório dependendo o que o usuário indicar ele exibe ou oculta e redimensiona também a tela do relatório.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar