![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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. |
|
#2
|
|||
|
|||
|
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. |
|
#3
|
||||
|
||||
|
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. |
|
#4
|
|||
|
|||
|
arrastrar y soltar fila de dbgrid
Esa era mi idea. Programé un procedimiento que reordena los ejercicios. El tema es que no se como capturar el numero de fila en el momento del drop y guardarlo en una variable para pasarlo al procedimiento y reordenar.Es decir, tengo la fila 'origen' pero no se como captar la fila 'destino'.
|
|
#5
|
||||
|
||||
|
Cita:
__________________
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. |
|
#6
|
|||
|
|||
|
arrastrar y soltar fila de dbgrid
Justamente, el numero de fila es igual al valor del campo orden:FILA | orden | ejercicio 1 | 1 | AAAA 2 | 2 | BBBB 3 | 3 | CCCC ... | ...... | ........ ... | ...... | ........en el evento OnMouseMove de DBGrid le asigno a DBGrid1.Hint el nro. de fila en el cual estoy posicionado con el cursor, pero cuando suelto la fila origen en la fila destino el hint queda con el numero de fila origen.Esa era mi idea para captar el numero de fila destino, asignandole a una varible 'fila_destino' := StrToInt(DBGrid1.Hint);y pasarselo a ReordenarFilas(fila_origen, fila_destino);
|
|
#7
|
|||
|
|||
|
arrastrar y soltar fila de dbgrid
Huyy!!!Disculpame por no dibujar correctamente la tabla.FILA ORDEN EJERCICIO 1 1 aaa 2 2 bbb 3 3 ccc 4 4 ddd
|
|
#8
|
||||
|
||||
|
No te preocupes, creo que el formato de los mensajes que los descuadra.
__________________
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|