FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
arrastrar y soltar fila de dbgrid
Buenas a todos.Existe la posibilidad en D7 de seleccionar una fila determinada de un DBGrid, arrastrarla y soltarla en otra posicion del mismo?(como los iconos del escritorio).Por ejemplo, arrastrar la fila 5 y soltarla en la fila 3.Espero haber podido explicarme bien. UN abrazo a todos y gracias
|
#2
|
||||
|
||||
El DBGrid tiene la posibilidad, como el resto de comtroles de programar los Drag&Drop (revisa los eventos).
Lo que ya no se si tiene mucho sentido es, arrastrar desde el DBGrid al propio DBGrid; Sí entre el DBGrid y otro control (puedes ver una explicación completa aquí). Piensa que un DBGrid no es más que una visualización de registros, que vienen de un DataSet; El orden en que se muestran no es importante, al menos para el DBGrid, ya que viene dado por la ordenación del Dataset; De ahí que no acabo de ver claro lo que quieres hacer. Si aun así lo intentas, utilizando los eventos de Drag deberías poder consegirlo. Revisa el artículo que te he puesto más arriba.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
arrastrar y soltar fila de dbgrid
hOLA Neftali.Desde ya gracias por tu aporte y por tu tiempo.Tal vez lo enfoque desde otro lado. Lo que quiero es que el usuario pueda cambiar el orden de las filas de una manera sencilla.Desde ya muchas gracias nuevamente.
|
#4
|
||||
|
||||
¿Ese DBGrid de dónde viene? ¿Una tabla? ¿Una consulta? ¿Con qué orden se está mostrando? ¿Tiene algun campo de tipo índice que marca el orden?
El problema es que cambiar el orden en un DBGrid significa cambiar el orden en la tabla/consulta asociada. ¿Eso lo tienes claro? Como el DBGrid muestra lo que hay en la tabla, si quieres cambiar de orden los elementos, debes cambiarlos en la tabla, para que el Grid los muestre como quieres. Por lo tanto, eso quiere decir que tus registros se están trayendo de la Base de Datos con un orden establecido. Al mover en el DBGrid lo que hay que hacer es hacer UPDATE en la tabla, para que el DBGrid te los muestre como quieres. ¿Lo entiendes? Otra opción sería realizar las operaciones en memoria (TClientDataset) y luego volcarlas a tabla. ¿Puedes responder a las preguntas que te he puesto al principio, para saber qué es lo que quieres hacer y cómo lo quieres hacer?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
arrastrar y soltar fila de dbgrid
Viene de un query y ordenado por un campo indice llamado 'orden'.
El DBGrid muestra los ejercicios de la rutina de un dia de gimnasio, ordenadas cronologicamente. Mi idea era que el usuario pueda cambiar el orden de los ejercicios de esa rutina al principio, final, o al medio segun quiera, con solo arrastrar el ejercicio a la posicion deseada. |
#6
|
|||
|
|||
Hola,
tal como te dice Neftalí, deberias usar los eventos drag&drop. En el momento del drop, lo unico que deberas hacer es editar y intercambiar el campo en el cual esta ordenado ese momento. Para saber los valores de la celda en la cual estas en el momento de soltar, puedes usar lo que se comento en este hilo. A ver si te sirve, saludos. |
#7
|
||||
|
||||
Cita:
Se trataría de detectar la nueva posición y actualizar el campo ORDEN en la Base de Datos. En este caso yo optaríapor utilizar un TStringGrid para las operaciones. Cargar los datos desde la base de datos y al hacer el Drag sobre el StringGrid actualizar los cambios. Simplemente porque creo que con los eventos del StringGrid te será más fácil comtrolar las operaciones (siendo tanto el Drag como el Drop sobre el mismo Grid). De todas formas, el código es casi igual si lo haces sobre un StringGrid que sobre un DBGrid, así que puedes hacer las pruebas sobre el DBGrid y si no te acaba de funcionar, pasar ese código a un StringGrid o viceversa.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Arrastrar y soltar en un TreeView | Gabriel2 | OOP | 3 | 09-12-2005 13:57:03 |
Arrastrar y soltar en un TreeView... | User_baja1 | Varios | 1 | 18-04-2005 13:39:50 |
Arrastrar y soltar con DBGrids | NickName | Varios | 2 | 22-03-2005 02:20:03 |
Arrastrar y Soltar!!! | chechu | Varios | 6 | 21-10-2004 20:26:35 |
arrastrar y soltar imagen | haZe | Varios | 2 | 03-03-2004 17:06:10 |
|