Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2011
asdbernardo asdbernardo is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 37
Poder: 0
asdbernardo Va por buen camino
Question Dbgrid1, como saber asignarle la ubicacion del cursor?

Buenas noches foristas, una pregunta .. estoy trabajndo en un formulario que añada, modifique, borre( logicamente con una variable boolean ) restaure ( la variable boolean pasa a false ) confirme y cancele .. es algo como esto:
----------------------------------------------------------
aca los mismos campos de la grilla pero en tdbedit


Añadir - Borrar - Restaurar - Modificar - Confirmar - Cancelar

----------------------------------------------------------
Grilla





----------------------------------------------------------

la cuestion esta creo que en cursor de la grilla.. ejemplo.. añado 3 registros y perfecto, borro los 3 ( logicamente pasando un campo que tengo oculto llamado borrado a true .. y se borran de la grilla ya que lo tengo filtradosql por los not borrado.. ahora el detalle es, que cuando estos 3 estan borrados, y quiero restaurar ejemplo.. borre 123 y quiero restaurar el 2 le doy confirmar y no lo hace, basta que en el boton confirmar coloque a un boton que hice para simular las movidas del dbnavigator << < > >> al darle el click Proximo es decir unitable1.next; y si borra pero el siguiente y quiero la posibilidad de que al marcar en la dbgrid1 el registro que yo desee sea cual fuere el registro lo haga, dejo el codigo con que hago borrar, restaurar, confirmar y cancelar, aparte del oncreate.

Si existen mejores formas de hacer este formulario escucho opiniones, ya que el filtrado con muchos registros me imagino que se pondra lenta .. ( aun no lo pruebo con registros exagerados), pero si con 20 registros al borrar logicamente que es ( cambiar el campo invisible a true, y el estado a desactivado se tarda a veces por el refresh que tiene la grilla ) -.- jeje bueno aki dejo el codigo.. a ver que se puede hacer..

saludos y gracias de antemano ..

pd: uso tdbedit + la grilla

Código Delphi [-]
 procedure TfrmAgencia.btnborrarClick(Sender: TObject);
begin

 if MessageDlg('¿Que quiere borrar este registro?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
 desactivarbarra;
 unitable1.Edit;
edtborrado.Field.AsString := 'true';
comboestado.Field.AsString := 'Desactivado';
unitable1.Post;
 unitable1.FilterSQL:= 'not borrado';
  activarbarra;
 end;

escero;
esceroborrado;

end;


procedure TfrmAgencia.btnrestaurarClick(Sender: TObject);
begin
comprobarnull;
unitable1.FilterSQL:= 'borrado';
unitable1.Edit;
desactivarbarra;
btnconfirmarborrado.Enabled :=true;
btnconfirmarborrado.Visible := true;
btncancelarborrado.Enabled := true;
btncancelarborrado.Visible := true;
edtborrado.Visible := true;
end;


procedure TfrmAgencia.btncancelarborradoClick(Sender: TObject);
begin
 escero;
unitable1.Cancel;
desactivarbarra;
    btnañadir.Enabled := true;
    btnmodificar.Enabled := true;
    btnborrar.enabled :=true;
unitable1.FilterSQL:= 'not borrado';
    btncancelar.Visible := true;
btnconfirmar.Visible :=true;

btncancelarborrado.Visible := false;
btnconfirmarborrado.Visible :=false;
dbgrid1.Refresh;
end;


procedure TfrmAgencia.btnconfirmarborradoClick(Sender: TObject);
begin
   unitable1.Edit;
   comboestado.Field.AsString := 'Activado';
     unitable1.Post;
      unitable1.FilterSQL:= 'not borrado';

   desactivarbarra;
    btnañadir.Enabled := true;
    btnmodificar.Enabled := true;
    btnborrar.enabled :=true;

    activarbtnir;
    btncancelar.Visible := true;
btnconfirmar.Visible :=true;
btncancelarborrado.Visible := false;
btnconfirmarborrado.Visible :=false;

end;

aca el create del formulario

Código Delphi [-]

procedure TfrmAgencia.FormCreate(Sender: TObject);
begin
esceroborrado;
escero;
   try
if conexion = true then
    begin
          unitable1.Active := true;
          unitable1.Last;

    end
else                              // OJEAR NO TRABAJA! LA EXCEPCION SI LA CONEXION SE CAE
 except
              on E: Exception do
         begin

           unitable1.Active := false;
           showmessage('Compruebe la conexion a internet, debido a que no se ha podido conectar con el servidor')
         end;
 end;
      Query1.SQL.Clear;
 Query1.SQL.Add('Select Max(numero_agencia) From Agencia');
 Query1.Open;

     unitable1.Edit;
      edtfalsonroagencia.Text:= inttostr(Query1.Fields[0].AsInteger);

  
            end;

Bueno eso creo que es todo.. agradezco su tiempo.. saludos!

pd1: el detalle sigo e insisto esta en el posicionamiento del dbgrid pero la verdad no se como hacer que al darle click y seleccionar el registro sepa que eso que estoy seleccionando debo cambiarle el campo borrado debe cambiarle el campo para que aparezca.. Saludos!

pd2: recien me he dado cuenta que al posicionarme en el registro desde la dbgrid1 y volver a darle el boton restaurar y darle al boton confirmar me hace la seleccion de ese registro y me lo restaura, pero si solamente le doy click a restaurar, no me deja editar el tdbcombobox que posee el true o el false del campo.. he ahi el dilema!

Última edición por asdbernardo fecha: 09-10-2011 a las 09:01:59. Razón: añadi la pd2, gracias a una prueba que hice luego de repasar el codigo
Responder Con Cita
 



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
Como saber la ubicacion de la carpeta Windows JoAnCa API de Windows 3 10-12-2010 17:23:18
como asignarle los componente dialogs a este codigo kurono Varios 4 12-04-2008 08:36:07
¿Cómo saber la ubicación del ejecutable que levantó un proceso? Alcolea Windows 1 24-11-2007 22:58:43
Saber la posición X-Y del cursor en un edit Sr_Sombrero API de Windows 1 19-06-2006 05:55:49
Como asignarle atributos a un pixel? bustio .NET 0 03-12-2004 20:42:00


La franja horaria es GMT +2. Ahora son las 10:18:57.


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