Array
(
)

QuickReport: Auto posicionamento dos campos

Fievel
   - 04 nov 2005

Saudações pessoal,
minha dúvida é a seguinte, tenho um relatório parecido com esse: http://www.fievel.com.br/relatorio.gif no Quick report.

Como vocês podem ver o campo OBS varia de número de linhas WordWrap = true e AutoStrench = true
Mas a situação é a seguinte, ele se expande mas não ´empurra´ o campo e-mail para baixo, ai tenho que fazer na munheca. Pegando a quantidade de linhas do campo OBS somando com o valor TOP dele e abaixo o campo e-mail.

Até funcionava blza. Mas o cliente que mudar a fonte do relatório de vez em quando. Ai ele começou a não ficar alinhado certinho, ora funcionava, ora ele aparecia por cima do campo e-mail.

Lembro que no Access ele acertava isso automaticamente, de acordo com o número de linhas ele movia o campo posterior mais pra baixo. Testei também com o FreeReport mas sem sucesso.

Alguem já teve um problema desse ou sabe de algum gerador de relatórios que faz isso que preciso?


Firekiller
   - 04 nov 2005

Colega, uma vez tive esse mesmo problema, e tive que colocar em bands separadas. Mas se você quer reposicionar, você pode fazer o seguinte, antes de mandar visualizar ou imprimir seu relatorio coloque:

QuickRep.Prepare;

e então pegue o tamanho do seu QrMemo (ou outro componente que tiver usando na observação): QuickRep.QrMemo.Height.
Some esse valor ao top, e reposicione seu campo email. Dessa forma, mesmo que se troque a fonte, como ele tá pegando o tamanho, acho que irá funcionar blz.


Fievel
   - 05 nov 2005

Olá amigo, eu tentei usar o método OnPrint do objeto TQRDBText para pegar a altura, ele redimensiona a caixa normal, mas o valor do Height ele sempre retorna o valor definido no modo design do relatório e não o novo valor após o redimensionamento do objeto em execução.