QUEBRA LINHA NO FLEXGRID
Boa Noite
Gostaria de verificar se é possÃvel fazer com que o tÃtulo do flexgrid fique em duas linhas tipo quebra automatico da linha como no excel.
por exemplo gostaria que no cabeçalho da coluna 13 ficasse 2 informações como DEVE
1.000,00
sendo o valor o total desta coluna
tentei desta forma mas não funcionou
If SomaDeveFlex > 0 Then
.TextMatrix(0, 13) = [Ô]DEVE[Ô] & Chr(13) & SomaDeveFlex
Else
.TextMatrix(0, 13) = [Ô]DEVE[Ô]
End If
aumentei a altura do cabeçalho com desta forma .RowHeight(0) = 400, não quero aumentar mais largura da coluna que esta com .ColWidth(13) = 700
Obrigado
Jair
Gostaria de verificar se é possÃvel fazer com que o tÃtulo do flexgrid fique em duas linhas tipo quebra automatico da linha como no excel.
por exemplo gostaria que no cabeçalho da coluna 13 ficasse 2 informações como DEVE
1.000,00
sendo o valor o total desta coluna
tentei desta forma mas não funcionou
If SomaDeveFlex > 0 Then
.TextMatrix(0, 13) = [Ô]DEVE[Ô] & Chr(13) & SomaDeveFlex
Else
.TextMatrix(0, 13) = [Ô]DEVE[Ô]
End If
aumentei a altura do cabeçalho com desta forma .RowHeight(0) = 400, não quero aumentar mais largura da coluna que esta com .ColWidth(13) = 700
Obrigado
Jair
Jair tem sim. Porém para fazer isso deve ser antes de visualizar o grid.
Eu faço assim para as linhas na hora de preencher, não fiz nada para o cabeçalho, mas é a mesma coisa.
Cria uma label oculta com a mesma fonte (tipo e tamanho) da usada no cabeçalho do seu grid.
Coloca o Width da label igual a largura inicial da coluna e deixa a largura fixa (ou seja não pode ser autoajustável).
O último ajuste no label é deixar suas linhas automáticas e com a quebra também, para aumentar em função do conteúdo (texto inserido).
Na hora de preencher o grid, coloca o Redraw dele como false.
Coloca o valor do tÃtulo da coluna no label.
Pega o valor do Height da label e passa para a altura desta coluna + 30 para não deixar o texto colado na linha inferior.
Por último volta o Redraw do grid para True e assim exibir o conteúdo. Esta dica faz o carregamento do grid ser mais rápido, pois não desenha linha a linha na tela.
Nota: O único problema desse recurso, é que vai depender muito do texto inserido na label, pois a quebra seguirá o padrão do componente em função do conteúdo, ex: espaços em branço, pontos, vÃrgulas, etc...
Com isso cada linha, se usado para todas, fica com um tamanho diferente em função do seu conteúdo.
Eu faço assim para as linhas na hora de preencher, não fiz nada para o cabeçalho, mas é a mesma coisa.
Cria uma label oculta com a mesma fonte (tipo e tamanho) da usada no cabeçalho do seu grid.
Coloca o Width da label igual a largura inicial da coluna e deixa a largura fixa (ou seja não pode ser autoajustável).
O último ajuste no label é deixar suas linhas automáticas e com a quebra também, para aumentar em função do conteúdo (texto inserido).
Na hora de preencher o grid, coloca o Redraw dele como false.
Coloca o valor do tÃtulo da coluna no label.
Pega o valor do Height da label e passa para a altura desta coluna + 30 para não deixar o texto colado na linha inferior.
Por último volta o Redraw do grid para True e assim exibir o conteúdo. Esta dica faz o carregamento do grid ser mais rápido, pois não desenha linha a linha na tela.
Nota: O único problema desse recurso, é que vai depender muito do texto inserido na label, pois a quebra seguirá o padrão do componente em função do conteúdo, ex: espaços em branço, pontos, vÃrgulas, etc...
Com isso cada linha, se usado para todas, fica com um tamanho diferente em função do seu conteúdo.
olá
veja também o [txt-color=#e80000]WordWrap [/txt-color]
té +
veja também o [txt-color=#e80000]WordWrap [/txt-color]
Me.MSFlexGrid1.WordWrap = True
Me.MSFlexGrid1.RowHeight(0) = 400
Me.MSFlexGrid1.TextMatrix(0, 13) = [Ô]DEVE[Ô] & vbCrLf & [Ô]534534534[Ô]
té +
Obrigado LUIS HERRERA e GANDA_NICK
deu certo aqui com as dicas, obrigado Jair
deu certo aqui com as dicas, obrigado Jair
Tópico encerrado , respostas não são mais permitidas