Tbrowse

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Tbrowse

Mensagem por negrao »

Mocada , no Tbrowse tem como fazer relacionamento ?
No dbedit eu fiz e deu certo, mas como falaram que o Tbrowse é melhor vou usa-lo, mas pra isso preciso saber se tem como fazer relacionamento.

Abaixo esta a funcao que uso, vou dar um exemplo de como esta o array pra montar o Tbrowse:
Tbrow[1,1] := "fin_codi"
Tbrow[1,2] := "C"
Tbrow[1,3] := 10
Tbrow[1,4] := 0
Tbrow[1,5] := "Codigo"

Tbrow[2,1] := "fin_nome"
Tbrow[2,2] := "C"
Tbrow[2,3] := 30
Tbrow[2,4] := 0
Tbrow[2,5] := "Descricao"

no arquivo esta fin_resp(que é o codigo do cliente), gostaria de mostrar o nome do cliente.
Tbrow[3,1] := "cli->nome"
Tbrow[3,2] := "C"
Tbrow[3,3] := 30
Tbrow[3,4] := 0
Tbrow[3,5] := "Nome do cliente"

Qndo mostra o Tbrowse, os 2 primeiros arrays mostra certinho, mas no 3 que seria mostrar o nome do cliente o cursor nao fica com o Foco.
Como posso arrumar isso

Obrigado

/****************************************************/
FUNCTION BROWSETELA(LI,CI,LF,CF)
cli->(dbsetorder(1))
set relation to fin->resp into cli

oB:Freeze = 2 //---> CONGELA A PARTIR DA COLUNA INDICADA
ob:HeadSep:= "Í"
ob:ColSep := "³"
FOR N := 1 TO LEN(TBROW) // ADICIONA UMA COLUNA
OB:ADDCOLUMN(TBCOLUMNNEW(TBROW[N,5]),
FIELDBLOCK(TBROW [N,1])))
NEXT

WHILE .T.
DO WHILE !ob:stabilize() .AND. NEXTKEY() == 0
ENDDO

nKey := InKey(0)
do Case // tratamento do retorno
EndCase
ENDDO
Return (.T.)
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Se o problema está sendo o foco na terceira coluna, basta digitar:


BR:ColPos := 3
DO WHILE !ob:stabilize() .AND. NEXTKEY() == 0
ENDDO
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Correção:

Não é BR:ColPos := 3

e Sim OB:ColPos := 3


( OB é o nome da variável que vc está usando para o objeto TBROWSE)

:)Pos
negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Mensagem por negrao »

Pessoal, coloquei o OB:COLPOS := 3 mas ficou na mesma.
Nao consegui fazer o relacionamento das tabelas.

Valeu
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Boa Tarde.
Tire o Set Relation e Use o Seek conforme abaixo

Tbrow[3,1] := "iif(cli->(dbseek(fin->RESP)),cli->nome," ")"
Tbrow[3,2] := "C"
Tbrow[3,3] := 30
Tbrow[3,4] := 0
Tbrow[3,5] := "Nome do cliente"


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Mensagem por negrao »

Dudu, tb nao deu certo.
A coluna onde deveria mostrar o nome da pessoa esta vindo em branco e a barra que indica qual coluna esta o cursor (deveria ta em verde) esta sem nada.

Obrigado pela ajuda
Responder