Clipper On Line • Ver Tópico - Combosearchbox, algumas dúvidas.

Combosearchbox, algumas dúvidas.

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Combosearchbox, algumas dúvidas.

Mensagempor Paulao » 28 Out 2013 08:57

Bom dia amigos, tenho usado o controle combosearch box sem 'miséria' nos meus sistemas, mas tenho encontrado algumas dificuldades com os eventos, veja a rotina abaixo:
Func Alter_pre()  
Local aPro := {}
Prosismk->( dbEval( { || AADD( aPro, TRIM( Prosismk->nome_pro ) ) } ) )
ASORT( aPro )

dbselectarea('prosismk')
ordsetfocus('nome_pro')
prosismk->(dbgotop())   

DEFINE WINDOW FORM_PRE ;
    AT 0,0 ;
      WIDTH 820 ;
      HEIGHT 610 ;
      TITLE 'Cadastro de Produtos' ;
    MODAL;
    NOSIZE

    *__________________   
    DEFINE BROWSE Browse_1
        ROW 010
        COL 010
        WIDTH 800                                                                               
        HEIGHT 490                                                                               
        FONTNAME "Tahoma"
        FONTSIZE 10
        HEADERS { 'Produto' , 'Código barras' , 'Preço de venda 1'}
        WIDTHS { 500 , 140 , 140 }
        WORKAREA prosismk
        FIELDS { 'prosismk->nome_pro' , 'prosismk->cbar_pro' , 'prosismk->pve1_pro' }
        VALUE 1
        LOCK .T.
        INPLACEEDIT .T.
        ALLOWEDIT .T.
        ALLOWAPPEND .F.
        ALLOWDELETE .T.
        READONLY { .F. , .T. , .F.  }
    END BROWSE
    *__________________   
   
    *__________________
    DEFINE LABEL lbl_nome_pro
        ROW    530
        COL    010
        AUTOSIZE .T.
        HEIGHT 020
        VALUE "Digite sua pesquisa"
        FONTNAME "Tahoma"
        FONTSIZE 10
    END LABEL
    DEFINE COMBOSEARCHBOX oGet_nome_pro
        ROW        530
        COL        150
        WIDTH      300
        ITEMS      aPro
        UPPERCASE .T.
        ON ENTER PESQ_PRO2(form_pre.oGet_nome_pro.value)
    END COMBOSEARCHBOX
    *__________________
   
END WINDOW
CENTER WINDOW FORM_PRE
ACTIVATE WINDOW FORM_PRE
RETURN(nil)
#include "combosearchbox.prg"
*_______________________________________________________________________________
Func pesq_pro2(par1)
cPesq := alltrim(par1)
dbselectarea('prosismk')
ordsetfocus('nome_pro')
prosismk->(dbgotop())
prosismk->(dbseek(cPesq))
if found()
    Form_pre.Browse_1.value := recno()
    Form_pre.Browse_1.Refresh
endi
return(nil) 
*_______________________________________________________________________________


Esta é uma simples rotina de busca num browse, código limpo, simples de se fazer, no entanto, quando tento processar o evento ON ENTER por exemplo, as coisas não saem como o esperado, eu gostaria de neste caso digitar o texto no combosearchbox e ele fosse me mostrando os registros que correspondem a a quele texto, até ai tudo bem, ele faz isto com nobreza, aparecem os registros abaixo do combosearchbox e inclusive me mostra o primeiro registro com a cor azul, ai é que vem o problema, gostaria que quando o texto que eu digitasse e aparecendo o que eu procuro eu clicasse enter e ele fosse para o browse no registro correspondente, mas isto nao ocorre, so vai ocorrer se eu posicionar o cursor no final do combosearchbox e clicar enter. em tempo, uso a minigui extended, ultima versao.
Paulao
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 09 Jul 2004 11:03
Cidade/Estado: Franca
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Combosearchbox, algumas dúvidas.

Mensagempor luiz antonio da silva » 28 Out 2013 18:53

Olá Paulo !

Tente alterar o seguinte:

1) No array aPRO adicione o numero do registro.

2) Na função PESQ_PRO2 (remova a pesquisa no banco) aponte o value do browse para o registro encontrado e de o refresh (isso já deixa o prog mais rápido tb por não fazer nova pesquisa no banco).

não testei, mas acredito que funcione.

** Geralmente abro a tela de pesquisa, informe o iten (se for alfa pesquisa em campos alfa, se numerico nos numericos) só depois preencho o grid/browse com o resultado.

Espero que ajude.

Luiz.
HMG 3.4.4 - SQL SERVER - ORACLE
luiz antonio da silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 161
Data de registro: 21 Nov 2006 21:12
Cidade/Estado: serrana-sp
Curtiu: 13 vezes
Mens.Curtidas: 10 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Itamar M. Lins Jr. e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro