Ireport - Como fazer um field ter tamanho dinâmico?
10 respostasResolvido
ireport
D
Daniellecd
Boa noite caros colegas! Poderiam me ajudar?
Venho novamente com duas dúvidas…
Estou há horas tentando fazer com que o meu field tenha tamanho horizontal dinâmico, de acordo com o tamanho do nome/texto retornado do Banco de Dados.
Já setei a opção Stretch With Overflow e vi que ela faz a quebra de lina dentro do field. Mas não é isso que quero!
Preciso é dar continuidade a linha do texto. Exemplo:
“Atestamos para fins que FERNANDA CONSUELO, portadora do DOCUMENTO XXXXXXX do curso de MEDICINA…
Atestamos para fins que MARI SILVA, portadora do DOCUMENTO XXXX do curso de MEDICINA…”
Tanto o nome da pessoa, quanto o número do documento, quanto o nome do curso são de tamanhos dinâmicos.
Queria muito fazer isso no iReport.
Também gostaria de ver se existe como ter aquele “efeito” de que com o tamanho dinâmico, possa dar continuidade do texto na próxima linha se o mesmo houver a necessidade da quebra da linha. Como a nossa escrita, chega ao fim da folha, pula para a próxima linha. Isso existe para ser feito no iReport?
Boa noite! Tudo jóia!
Você fala de colocar em todos os textfield e os fields?
Segue abaixo a imagem da geração do relatório. Veja os espaços em branco que preciso que não existam. Mas só vou conseguir se conseguir deixar o tamanho do field dinâmico. Creio eu!
Em vermelho, são os espaços em branco dos fields que são daquele tamanho! Preciso retirar para aproximar o texto.
Acho que consegui explicar! Risos!
"Atentamos para fins que se fizerem necessários que "+$F{descricao}+", portadora da cédula de identidade nº "+$F{codigo_item}+" filho(a) de "+$F{descricao}+"natural de "+$F{descricao}+"casado(a) "
Tu está montando o texto combinando StaticText com TextField né? Eu creio que não dê para dimensionar a largura automaticamente, mas tão somente a altura (quebra de linha) já que as bands são extensíveis em altura, mas não em largura.
D
darlan_machado1 like
Cara, sem querer ser chato, mas, creio que é exatamente isso que ela está fazendo.
Porém, se o nome for algo como “João da Silva”, ok, cabe certinho num field de 45 de largura. Agora, se for algo como o nome do Dom Pedro I (Pedro de Alcântara Francisco António João Carlos Xavier de Paula Miguel Rafael Joaquim José Gonzaga Pascoal Cipriano Serafim de Bragança e Bourbon)
Já não caberia, né? Óbvio, nem numa linha inteira.
Porém, o ideal seria deixar esses fields isolados em linhas, algo como:
Deixando, para cada campo que pode extrapolar uma linha, a opção stretch overflow definida.
R
rodriguesabner1 like
D
Daniellecd
Bom dia Jothar,
Onde coloco esse código de concatenação? É no TEXT FIELD EXPRESSION?
Deu certo quanto coloquei um textfield e coloquei o texto todo no TEXT FIELD EXPRESSION com as suas devidas concatenações.
Uma outra dúvida:
Teria como colocar tipo, somente o texto do nome em tamanho maior e em negrito? Como faria isso no código do TEXT FIELD EXPRESSION?
J
Jothar_Aleksander2 likes
Você coloca um único textfield na band desejada e concatena os fields lá. Exemplo:
O problema de usa essa abordagem @Daniellecd é que se precisar aplicar uma formatação aos fields individualmente que compõem o concatenado, não tem como (eu pelo menos desconheço). No seu caso, como se trata de uma declaração, geralmente os dados como nome e número de documentos são grafados em negrito e, neste caso não tem como fazê-lo usando a concatenação.