Ver Mensaje Individual
  #9  
Antiguo 24-07-2013
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Reputación: 17
DavidSG4 Va por buen camino
Cita:
Empezado por ElDioni Ver Mensaje
Hola, yo hice algo parecido hace un tiempo, lo primero que te diría es que te instalaras el SMDBGrid que es gratuito, ¿porqué?, porque si no recuerdo mal el DBGrid normal que lleva delphi no disparaba el código en el MouseDown y había que programar un parche para conseguirlo, además el SMDBGrid tiene más opciones que el DBGrid que pueden resultarte útiles.

Que hacía yo, en el MouseDown, capturaba el orden que tenía el registro seleccionado en una variable, permitía en el DBGrid el Drag&Drop para que aceptara el arrastre de registros dentro del mismo DbGrid. Cuando hacía el Drop capturaba en otra variable el registro en el que me había posicionado, había que saber si el registro lo había movido hacia una posición superior o inferior, a partir de ahi, si lo había movido a una posición superior, tenía que hacer un update de +1 en el orden, a todos los registros que fueran mayor o igual que el registro donde quería colocar el nuevo registro hasta los que fueran menor que el registro original que había movido, algo así.

Te darás cuenta de que tienes que controlar más cosas, tabla vacía, un solo registro, orden de los nuevos registros, etc.

Espero haberte ayudado en algo.

Saludos.
para el dbgrid si que hay onmousedown y el onmouseup (a modo de aclaracion)
Responder Con Cita