Congelar Linhas TBrowse

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Congelar Linhas TBrowse

Mensagem 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.
Fui :)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem 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".
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Mensagem 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.
Fui :)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem 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.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem 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)
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Mensagem por digitom »

:))

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

Obrigado a todos pelo empenho.
Fui :)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem 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.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder