Clipper On Line • Ver Tópico - Colocar cursor em uma Busca utilizando GRID

Colocar cursor em uma Busca utilizando GRID

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Colocar cursor em uma Busca utilizando GRID

Mensagempor mmaciel11 » 17 Jun 2008 10:43

Bom dia,

Fiz a seguinte pesquisa so que o cursor na cai na pesquisa desejada

Function BTN_Pesquisar_Prestador()
Local cBuscar

cBuscar := upper(allTrim(inputbox('Digite a sua pesquisa:','Pesquisar')))

// Posiciona Indices

OrdSetFocus('Prest2')
Prestador->(DbGoTop())

If .not. empty(cBuscar)
If Prestador->(DbSeek(cBuscar))
Frm_Prestador.Grid_Prestador.Setfocus
Frm_Prestador.Grid_Prestador.value := Prestador->(recno())
Else
MsgExclamation('Prestador não encontrado !!!','Mensagem')
Endif
Endif

Return(nil)

observei que quando coloco por exemplo : AUREA ele posiciona certo no registro mais o cursor cai muito a cima do nome 'AUREA'

agradeço desde ja a ajuda

Grato Marco Maciel
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Colocar cursor em uma Busca utilizando GRID

Mensagempor sygecom » 17 Jun 2008 12:44

É Minigui ?

Tentou inverte ex:
Function BTN_Pesquisar_Prestador()
Local cBuscar

cBuscar := upper(allTrim(inputbox('Digite a sua pesquisa:','Pesquisar')))

// Posiciona Indices

OrdSetFocus('Prest2')
Prestador->(DbGoTop())

If .not. empty(cBuscar)
If Prestador->(DbSeek(cBuscar))
Frm_Prestador.Grid_Prestador.value := Prestador->(recno())
Frm_Prestador.Grid_Prestador.Setfocus
// se existe alguma maneira de dar um refresh no GRID de aqui.
Else
MsgExclamation('Prestador não encontrado !!!','Mensagem')
Endif
Endif

Return(nil)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Re: Colocar cursor em uma Busca utilizando GRID

Mensagempor mmaciel11 » 18 Jun 2008 17:13

amigao ok

testei mais nao deu certo !!!
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Colocar cursor em uma Busca utilizando GRID

Mensagempor MARCELOG » 19 Jun 2008 09:22

Parece que você está usando a minigui. Certo?
Então postou no forum errado.
Mas tudo bem, que nunca fez isso que atire a terceira pedra.

Bem, o erro acontece porque o arquivo está indexado e o recno() do registro não indica a sua posição no índice, mas a sua posição no banco de dados.
Experimente colocar no lugar do recno() a função que retorna o número referente a ordem do registro no índice. Acho que é ordkeyno().

Boa sorte.

MarceloG

Ou, acho mais rápido, use isso abaixo.

PROCEDURE PESQ_USUARIO()

/*
Func/Proc: PESQ_USUARIO
Objetivo.: Pesquisar nome do usuario
*/

LOCAL cPesquisa, i

// Curto circuito

IF USUARIO.GRD1.ITEMCOUNT <= 1 // Use 1 ou ou número de linhas visíveis do grid

RETURN

ENDIF

cPesquisa := ALLTRIM(USUARIO.TXT1.VALUE) // ou seu INPUTBOX

FOR i := 1 TO USUARIO.GRD1.ITEMCOUNT

IF SUBSTR(USUARIO.GRD1.ITEM(i)[Nº DA COLUNA],1,LEN(cPesquisa)) == cPesquisa

USUARIO.GRD1.VALUE := i

EXIT

ENDIF

NEXT i

ENDIF

RETURN

Ps: esse esquema usa um textbox para pesquisa letra a letra. Adapte para o seu usando inputbox.
Água mole em pedra dura tanto bate que até espirra!
Avatar de usuário

MARCELOG
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 546
Data de registro: 15 Mar 2005 16:54
Cidade/Estado: Divinópolis/MG
Curtiu: 0 vez
Mens.Curtidas: 6 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 14 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