Pegar valor de linha no TBROWSE

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

fernandoxhb
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 23 Jan 2017 11:40
Localização: São Pauo/SP

Pegar valor de linha no TBROWSE

Mensagem por fernandoxhb »

Pessoal, preciso de um ajuda.
Em um browse, preciso obter o valor da primeira linha e primeira coluna, independente de qual linha estiver.
O comando abaixo me retorna o valor da linha corrente (mb:rowPos)

alert( eval(mb:getColumn(1):block) )

Oque posso alterar no meu código para retornar o valor da primeira linha ao invés da linha corrente.

Att Fernando.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Pegar valor de linha no TBROWSE

Mensagem por alxsts »

Olá!

Seja bem-vindo ao Fórum Fernando!

Tente algo assim:

Código: Selecionar todos

FUNCTION Main()

   QOut( TbGetFirstCell( mb ) )

RETURN NIL 

//--------------------------------------------------------

FUNCTION TbGetFirstCell( oTb )

LOCAL nPos, xVal

   nPos := oTb:rowPos

   oTb:goTop():forceStable()
   xVal := Eval( oTb:getColumn(1):block )

   While ( nPos != oTb:rowPos .AND. ! oTb:hitBottom )
      oTb:down():stabilize()
   Enddo

   oTb:refreshAll:forceStable()

   RETURN xVal
//--------------------------------------------------------
P.S.: Este código não foi compilado e nem testado.
[]´s
Alexandre Santos (AlxSts)
fernandoxhb
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 23 Jan 2017 11:40
Localização: São Pauo/SP

Pegar valor de linha no TBROWSE

Mensagem por fernandoxhb »

Alexandre, bom dia!

Obrigado pelas boas vindas e pela ajuda.

O código que você me passou, passa o valor do primeiro registro utilizado no browse.
Utilizo um browse com 4 linhas e quando utillizo o PgDown por exemplo, a primeira linha do browse fica sendo a linha 5 e assim por diante.

Essa necessidade surgiu para a mudança de cor de algumas linha, no meu TBrowse eu tenho uma coluna chamada codgru e onde o valor for '13' eu preciso que essa linha seja de uma cor diferente.

Até consegui utilizando o oTb:colorRect(), mas a cor vai aparecendo só quando a linha é setada, eu preciso fazer com que mostre as cores de acordo com a paginação, por isso preciso pegar a primeira informação de cada pagina.
Responder