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 30-11-2004
lionsoft lionsoft is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
lionsoft Va por buen camino
Levantar Datos de Columna en Grid

Hola!

Tengo un grid, el cual muestra los datos de una consulta SQL (de 3 tablas, donde dos solo muestran nombres linkeados por un codigo en la tabla principal).
Necesito dar la posibilidad que el usuario eliga una de las filas de ese grid, y luego pueda clickear un boton para borrarla de la tabla.
Lo que no se, es como obtener que fila eligio, o como levantar cierto campo de esa fila, para poder luego eliminar.
Es decir, clickeando la fila X, deberia levantar el codigo de empleado de esa fila X, para luego borrar. Como detecto esto?
Saludos!
Lion
Responder Con Cita
  #2  
Antiguo 30-11-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Supongamos que en la primera columna está el código que necesitamos, aquí tienes un ejemplo de como capturar dicho valor:
Código Delphi [-]
 procedure TForm1.DBGrid1CellClick(Column: TColumn);
 begin
  ShowMessage(Query1.fields[0].asString);
 end;

Luego quedaría, con un componente tipo UpdateSql, ejecutar la orden correspondiente contra este código capturado y tabla correspondiente.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 30-11-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
Hola:

el dataset que este asociado al dbgrid, esta posicionado en el registro que se posiciona el grid.

Si necesitas mas informacion, te lo amplio.

Saludos.
Responder Con Cita
  #4  
Antiguo 02-12-2004
lionsoft lionsoft is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
lionsoft Va por buen camino
Si podes ampliar el tema del dataset, seria interesante.

Gracias por las respuestas

Lion
Responder Con Cita
  #5  
Antiguo 02-12-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
lo que ha dicho cahp es básicamente lo propuesto por Marcos Zorrilla.

Puedes tener 80 campos en la consulta SQL, pero solo mostrar 10 en el grid, (si es una consulta persistente es muy facil quitar los campos que no quieres que visualice el usuario), por tanto, puedes usar:

Código Delphi [-]
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
 begin
  ShowMessage(Query1.fields[0].asString);
// o si te parece más comodo
  ShowMessage(Query1.fieldByName('campoClave').asString);
 end;

Lo de campos persistentes, es simplemente que en diseño tienes puesta la cláusula SQL y al conectar el grid, en tiempo de diseño, das un doble clic al grid para añadir los campos que quieres ver.

De esta forma ya puedes acceder a los campos claves que necesites en algun momento, aunque el usuario no lo vea en pantalla.

Saludos
Responder Con Cita
  #6  
Antiguo 02-12-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
No puede estar mejor explicado!!

Saludos.
Responder Con Cita
  #7  
Antiguo 28-03-2005
lionsoft lionsoft is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
lionsoft Va por buen camino
La solucion me sirvió si clickeaba una de las celdas de la fila.. ahi si levantaba correctamente el dato.
Pero la idea es clickear la fila.. porque el usuario al ver el cursor en forma de triangulo en el grid, supone que debe moverse y elegir con eso.
Como hago para distinguir esto?
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


La franja horaria es GMT +2. Ahora son las 09:48:19.


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