Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
edit autocompletado mediante grid no funciona

Hola estuve viendo un codigo de autocompletar un edit mediante un grid que se despliega lo saque de este mismo foro
bueno el grid se despliega y me muestra los codigos perfectamente al igual que tambien me permite con las teclas subir y bajar mediante el grid

ahora lo que no funciona es que cuando estoy en el grid en un codigo especifico y le doy enter este no se copia al edit
a ver si me ayudan gracias
Código Delphi [-]
procedure TfrmVentas.txtCodigoKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

             if Key = VK_DOWN then
                begin
                   dmDatos.cdsCodeArt.Next;
                   idciu:=dmDatos.cdsCodeArt.FieldByName('codigo').value;
                end;

             if Key = VK_UP then
                begin
                   dmDatos.cdsCodeArt.Prior;
                   idciu:=dmDatos.cdsCodeArt.FieldByName('codigo').value;
                end;
end;

procedure TfrmVentas.txtCodigoKeyPress(Sender: TObject; var Key: Char);
begin
 
        if not (Key in ['0'..'9',#8]) then
            Key := #0;

             codebusqgrid.Visible:=True;
             
             dmDatos.cdsCodeArt.Active := false;
             with dmDatos.qryCodeArt do
                 begin
                 close;
                 SQL.Clear;
   
                 Sql.Add('Select * from codigos where codigo like '''+ txtcodigo.Text +'%''');
                           Open;
                end;
                with dmDatos.cdsCodeArt do
                 begin
                 Active := true;
                 FieldByName('codigo').DisplayWidth := 320;
                 dmDatos.cdsCodeArt.FieldByName('codigo').DisplayLabel := 'Código';
                     end;

             if dmDatos.qryCodeArt.IsEmpty then
               begin
                ShowMessage('No hay Resultados');
                codebusqgrid.Visible:=False;
        
                txtcodigo.Clear;
               end;




               If Key = #13 Then
               begin
                  txtcodigo.Text:= (''+idciu+'');
               
                  BuscaArticulo;
                  codebusqgrid.Visible:=False;
               end;
end;
Responder Con Cita
  #2  
Antiguo 17-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
En este ejemplo:
El primero: al recorrerse el primer grid 1, se va cambiando el dato en el edit 1.
El Segundo: al recorrer el grid 2 y darle ENTER, el dato se muestra en el edit 2.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 10-06-2011 a las 02:04:54.
Responder Con Cita
  #3  
Antiguo 17-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Rofocale, No me hablas, no me escribes, no me dices nada....
Mis ejemplos eran buenitos....., dime algoooooo......
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 17-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
no te hablo porque has hecho que eficsa ya no me ayude con mi problema de combobox jaja mentira caral.. recien he terminado de probarlo lo que me has enviado bueno al apretar enter ya me funciona
pero claro lo queria con las teclas abajo y arriba osea desplazarme y tome aun el codigo anterior del hilo de autocompletar el edit del cual tambien participaste

este es el codigo

Código Delphi [-]
procedure TAltasForm.CiudadEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin




             if Key = VK_DOWN then
                begin
                   QueryDataModule.CiudadZQuery.Next;
                   idciu:=QueryDataModule.CiudadZQuery.FieldByName('Ciudad').Text;
                end;

             if Key = VK_UP then
                begin
                   QueryDataModule.CiudadZQuery.Prior;
                   idciu:=QueryDataModule.CiudadZQuery.FieldByName('Ciudad').Text;
                end;
end;
bueno me funciona bien al bajar las felchas o subirla por el grid recorriendo los datos al apretar enter tambien sale en el edit

pero el error esta en que si por ejemplo el codigo es 30528 el que elijo este no me muestra en el edit dicho numero si no otro.. como si el cursor estuviera realmente posicionado en la tabla en otro lugar

quizas ese codigo no funcione bien no se que toy haciendo mal

Código Delphi [-]
procedure TfrmVentas.txtCodigoKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

             if Key = VK_DOWN then
                begin
                   dmDatos.cdsCodeArt.Next;
                   idciu:=dmDatos.cdsCodeArt.FieldByName('codigo').value;
                end;

             if Key = VK_UP then
                begin
                   dmDatos.cdsCodeArt.Prior;
                   idciu:=dmDatos.cdsCodeArt.FieldByName('codigo').value;
                end;


end;

procedure TfrmVentas.txtCodigoKeyPress(Sender: TObject; var Key: Char);
begin

        if not (Key in ['0'..'9',#8]) then
            Key := #0;

             codebusqgrid.Visible:=True;
             //gridlist.Visible:=True;
             dmDatos.cdsCodeArt.Active := false;
             with dmDatos.qryCodeArt do
                 begin
                 close;
                 SQL.Clear;
 

                 Sql.Add('Select * from codigos where codigo like '''+ txtcodigo.Text +'%''');

                 Open;
                end;
                with dmDatos.cdsCodeArt do
                 begin
                 Active := true;
                 FieldByName('codigo').DisplayWidth := 320;
                 dmDatos.cdsCodeArt.FieldByName('codigo').DisplayLabel := 'Código';

                 end;

             if dmDatos.qryCodeArt.IsEmpty then
               begin
                ShowMessage('No hay Resultados');
                codebusqgrid.Visible:=False;
                //gridlist.Visible:=False;
                txtcodigo.Clear;
               end;





end;

procedure TfrmVentas.txtCodigoKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

      If Key = VK_Return Then
               begin
                  txtcodigo.Text:= (''+idciu+'');
                  //txtCodigo.Text := FrmArticuloBusq.sCodigo;
                  BuscaArticulo;
                  codebusqgrid.Visible:=False;
               end;
end;

ahi esta mi codigo completo por si me quieren ayudar
gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Busco componente Grid soportando obtención/asignación total de datos mediante texto rolandoj OOP 9 11-10-2008 04:40:51
Borrar fila mediante un grid Aleh OOP 3 27-05-2008 13:25:28
Insertar registro mediante Grid Ubed Conexión con bases de datos 3 20-09-2007 08:08:14
Autocompletado en un Edit david_uh Varios 5 29-06-2007 21:03:37
Realizar búsquedas en un ListBox mediante un Edit Lester Varios 5 08-06-2007 19:16:18


La franja horaria es GMT +2. Ahora son las 17:42:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi