Página 1 de 1

Mostrar campo no TBrowse referente resultado de set relation

Enviado: 23 Jun 2021 18:38
por porter
Olá pessoal, gostaria de saber, se tem como mostrar em um TBrowse, um campo relacionado com outra tabela, quero mostrar o nome do cliente, eu fazia esses relacionamentos no Clipper, mas nunca usei no DbEdit, agora no Harbour, estou tentando fazer o SET RELATION e mostrar no TBrowse, mas não está dando certo.

ARQ05.DBF ARQ06.DBF
CLI_COD N 6 CLI_COD N 6
CLI_NOME C 40

USE ARQ05 ALIAS CLIENTES
INDEX ON CLI_COD TO INDCLI_COD

USE ARQ06 ALIAS PARCELAS
INDEX ON CLI_COD to INDPAR_COD

SET RELATION TO CLI_COD INTO CLIENTES

PRIV aCampos:={{"NPEDIDO" ,"999999" , "Pedido " },;
{"DTVENDA" ,"@!" , "Dt Venda " },;
{"VALOR" ,"99999.99" , " R$Valor" },;
{"CLIENTES->CLI_NOME" ,"@!" , "Cliente " },; // AQUI, QUERO MOSTRAR O NOME DO CLIENTE
{"CCLIENTE" ,"@9" , "CodCli " }}

Harbour 3.2.0dev em modo console

Mostrar campo no TBrowse referente resultado de set relation

Enviado: 23 Jun 2021 19:50
por alxsts
Olá!

A cada coluna de um TBrowse() corresponde um objeto TBColumn().

Considerando um TBrowse() de nome oTb, basicamente seria:

Código: Selecionar todos

// Se quiser mostrar em colunas separadas o código e o nome do cliente
oTb:addColumn(TBColumnNew( "Cod Cliente", { || Clientes->cli_cod  } ) )
oTb:addColumn(TBColumnNew( "Nome Cliente", { || Clientes->cli_nome  } ) )

// Se quiser mostrar em uma única coluna o código e o nome do cliente concatenados
oTb:addColumn(TBColumnNew( "Cliente", ;
                           { || LTrim( Str( Clientes->cli_cod ) ) + " - " + cli_nome } ) )

Como está montando o teu TBrowse()? Poste o código.