Hallo,
ich möchte folgende Funktion realisieren:
In einer JvDBTreeView wird eine
MySQL-Tabelle angezeigt.
In einer JvDBUltimGrid wird eine weitere Tabelle angezeigt.
Per DragnDrop soll nun ein Datensatz aus der Baumsicht in die Tabelle kopiert werden.
Leider ist es mir nicht gelungen, den aktuellen Datensatz der Treeview zu ermitteln und in die Grid-Tabelle einzufügen. Schon beim Ereingnis onStartDrag erhalte ich immer den ersten Datensatz der Tabelle - abhängig von der eingestellten Sortierung bei TZTable. Nach dem Ziehen ist der erste Datensatz selektiert.
JvTreeView hat DragMode:=dmAutomatic und ReadOnly:=true;
Die Datenbank ist über die ZEOS-Komponenten angebunden
Folgende Codeteile sind relevant:
Delphi-Quellcode:
procedure TDokDBMainForm.JvDBUltimGrid1DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
with DSDocTags.DataSet do
begin
Append;
FieldByName('DocID').Value:=DSDocs.DataSet.FieldByName('ID').Value;
FieldByName('TagID').Value:=DMDokDB.DSTags.DataSet.FieldByName('ID').Value;
end;
end;
In
DMDokDB.DSTags.DataSet.FieldByName('ID').Value steht immer der erste Datensatz der Tabelle!
Wie gesagt, auch wenn ich beim Ereignis onStartDrag den Wert ermittle, ist es immer der erste Wert der Tabelle!
Ein DBEdit an der gleichen Datenquelle zeigt beim Ziehen den richtigen (selektierten) Datensatz an!
Ich bin echt ratlos. Wer hat ne Idee?
Gruß Andreas