Mostrar campo no TBrowse referente resultado de set relation

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

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Mostrar campo no TBrowse referente resultado de set relation

Mensagem 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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Mostrar campo no TBrowse referente resultado de set relation

Mensagem 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.
[]´s
Alexandre Santos (AlxSts)
Responder