Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Datensatz unter Mauscursor in DBGrid auswählen

  Alt 17. Jul 2006, 09:23
Hallo,

ich habe gerade an einem Drag&Drop System gearbeitet mit welchem ich einen Datensatz von einem DBGrid ausgewählt habe und auf ein zweites rübergezogen habe.
Im ersten Grid den Datensatz auszuwählen war kein Problem, da dieser automatisch ausgewählt wird.
Probleme hatte ich beim zweiten Grid, da ich da keinen Klick ausführe, sondern lediglich die Maustaste loslasse und somit nicht der gewünschte Datensatz ausgewählt wird.

Jetzt habe ich mir folgendes Konstrukt gebastelt:

Delphi-Quellcode:
procedure TForm1.DBGridDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var
 gc : TGridCoord;
begin
  with TDBGrid(Sender) do
    try
      gc:=MouseCoord(X,Y);
      if (gc.Y > 0)and(gc.X > 0)then
        DataSource.DataSet.MoveBy(gc.Y-TStringGrid(Sender).Row);
    finally
    end;
end;
Damit wird während des Draggens immer der Datensatz ausgewählt über den ich mich mit dem Mauszeiger befinde.
Das Konstrukt kann genausogut im OnMouseMove des DBGrids eingesetzt werden, da ich lediglich die X,Y Werte benötige.


MfG

[edit=Chakotay1308] Mfg, Chakotay1308[/edit]
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat