Página 1 de 1

Congelar Linhas TBrowse

Enviado: 19 Nov 2007 09:46
por digitom
Pessoal,

Alguém pode me dizer como faço para "congelar linhas" usando o tbrowse?

Explico:

O meu relatório e grande na horizontal e vertical. Então preciso congelar as linhas e colunas, sendo que consigo congelar as colunas, mas o cabeçalho não estou conseguindo.
Pensei colocar estático, mas quando pressiono seta a direita ficaria o mesmo texto, eu quero que o cabelho acompanhe.

Naum sei se fui claro, se etenderam.

Agradeço desde já a colaboração.

Enviado: 19 Nov 2007 10:25
por Pablo César
Uma dica: Exiba esse cabeçalho FORA do TBROWSE. Isto é, faça uma função que utilize apenas o @ SAY nas linhas acima do seu TBROWSE. Claro que seu TBROWSE deverá começar como mínimo abaixo da linha 4 e essas exibição que ora chamada por alguma função de dentro do TBROWSE, você irá mostrar em tela nas linhas @ 00, @ 01, @02 então dará a impressão VISUAL ao usuário que está sendo exibido o cabeçalho do seu relatorio de forma "congelada".

Enviado: 19 Nov 2007 10:34
por digitom
É o que estou usando.
Mas o Problema é que meu relatório é grande na horizontal.
Ex:
NOME JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ TOTAL MEDIA

O titulo só dá para aparecer ate jun
Ex:
NOME JAN FEV MAR ABR MAI JUN


E quando uso seta a direita continua a aparecer o mesmo cabecalho sendo que ele deveria acompanhar o texto do tbrowse.

Enviado: 19 Nov 2007 10:46
por Pablo César
Pois então coloque uma função que muda tal cabeçalho conforme o número da coluna em que o cursor se encontra. Essa função você deverá colocar após que seu TBROWSE estiver "establilizado", logo após do

Código: Selecionar todos

      while ( !b:stabilize() )
            nKey := InKey()
            if ( nKey != 0 )
               exit
            endif
      enddo
      if ( b:stable )
         if ( b:hitTop .or. b:hitBottom )
            Tone(125, 0)
         endif

         SUA_FUN(b:colPos) // Aqui a funçao que tem @ SAY

         nKey := InKey(0)
      endif
Desta forma o @ SAY (ou digamo o cabeçalho) irá acompanhar conforme for acionadas as teclas de navegação.

Enviado: 19 Nov 2007 11:44
por alaminojunior
Quando vc adiciona uma coluna não dá para adicionar também o cabeçalho ?

otbr1:= TbColumnNew("Endereço1", { || Ender1 } )
otbr2:= TbColumnNew("Endereço2", { || Ender2 } )

otbr:addcolumn(otbr1) // otbr é o objeto tbrowse
otbr:addcolumn(otbr2)

Enviado: 19 Nov 2007 14:43
por digitom
:))

Consegui resolver. Estava dano "bobeira" hehehe.
Basta eu colocar o cabeçalho que acabou o meu problema.

Obrigado a todos pelo empenho.

Enviado: 19 Nov 2007 20:50
por Pablo César
digitom escreveu:Basta eu colocar o cabeçalho que acabou o meu problema.
Tá brincando ? Puxa... sabia que nem sequer pensei nisso... hihihihi Mas para complementar a minha sugestão passada, você pode ainda combinar essa técnica do @ SAY junto com o cabeçalho de cada campo. Isso serviria para fazer cabeçalho com mais de uma linha.

Se precisar adicionar colunas ou CONDICIONAR a exibição ou não de uma coluna, você terá uma sequência variável de colunas, daí então em vez de fazer pelo COLPOS() faria pelo nome do cabeçalho o qual este estaria armazenado em VETOR.