Página 1 de 1

Pegar valor de uma coluna do TBrowse

Enviado: 31 Out 2016 13:20
por asimoes
A dica é para pegar o valor de uma coluna no TBrowse:

Código: Selecionar todos

With Object oBr
   cCodPessoa := Eval(:getColumn(1):Cargo[2])
End 

Pegar valor de uma coluna do TBrowse

Enviado: 01 Nov 2016 22:07
por JoséQuintas
Tem certeza?
Que eu me lembre, cargo é coisa personalizada/pra usuário

Em harbour\src\rtl\tbrowse.prg, o método AddColumn() contém isto: AAdd( ::columns, oCol )

Em harbour\src\rtl\tbcolumn.prg, tem este método METHOD block( bBlock ) SETGET /* Code block to retrieve data for the column */

Me parece que seria isto:

Código: Selecionar todos

Eval( oBrowse:Columns[ nCont ]:Block )

Pegar valor de uma coluna do TBrowse

Enviado: 02 Nov 2016 12:59
por asimoes
Cargo pode ser usado para este propósito bem como block.

Código: Selecionar todos

oColuna := TBColumnNew( "Mˆs/Ano", {|| SubStr(APA01->AnoMes, 3, 2)+APA01->NovoAno})
oColuna:picture := "@R 99/9999"
oColuna:Cargo := {|| SubStr(APA01->AnoMes, 3, 2)+APA01->NovoAno}
oTBrowse:addColumn( oColuna )

cVar := Eval( oTBrowse:getColumn(1):Cargo)


Pegar valor de uma coluna do TBrowse

Enviado: 02 Nov 2016 13:05
por asimoes
Quintas,

No seu exemplo dá erro, porque o método Columns é protegido.

Pegar valor de uma coluna do TBrowse

Enviado: 02 Nov 2016 17:54
por JoséQuintas
Tem este outro:

Código: Selecionar todos

   METHOD getColumn( nColumn )                  // gets a specific TBColumn object

Código: Selecionar todos

? Eval( oTBrowse:GetColumn( nCont ):Block )

Pegar valor de uma coluna do TBrowse

Enviado: 03 Nov 2016 15:01
por wmanesco
Para utilizar o cargo então teria que primeiro setar o valor a ele?

Pegar valor de uma coluna do TBrowse

Enviado: 03 Nov 2016 15:20
por JoséQuintas
Pelo exemplo que o ASimões colocou, sim.
O :Cargo é um campo livre, disponível pro programador usar para o que quiser.
No exemplo dele, usou como "comunicação" entre o tbrowse e o programa, mas a rotina de tbrowse terá que gravar essa informação em :Cargo, senão nada feito.

Se não me engano, o GET tem algo parecido, que fica na GetList.