ocultando coluna no fastreport em tempo de execução
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á?
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
Curtidas 0
Respostas
Marcos Alves
17/08/2018
Se você deseja ocultar a linha tente:
if (<pega>)=''''barrafunda'''' then
MasterData1.Visible:= False
else
MasterData1.Visible:= True;
if (<pega>)=''''barrafunda'''' then
MasterData1.Visible:= False
else
MasterData1.Visible:= True;
GOSTEI 0
Wmf Consultoria
17/08/2018
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.
/////// 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.
GOSTEI 0