Autor Beitrag
nigel
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 25.01.03 18:46 
Hallo,

ich habe folgendes Problem: Ich nutze in einer Anwendung zwei DBGrids und möchte dem Benutzer ermöglichen Daten von dem einen Grid ins andere per Drag'n'Drop zu verschieben. Um die Daten im Zielgrid korrekt einzufügen müsste ich aber wissen, auf welchen Datensatz der Benutzer gedropped hat. Mein erster Gedanke war den Datensatz mit
ADODataset.RecNo:=DBGrid.Mousecoord(x,y).y
anzuspringen. Mousecoord(x,y).y liefert mir aber nur die Bildschirmposition der Zeile zurück, wenn das DBGrid während des Drag'n'Drop-Vorgangs also etwas nach unten gescrollt ist so stimmt dieser Wert nicht mehr mit der Position des Datensatzes im ADODataset (-> recno) überein.

Kann mir jemand einen Tipp geben, wie ich das Ganze lösen könnte. Vielen Dank im Vorraus!

nigel
löschi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Di 28.01.03 13:32 
hi ,
soweit ich weiß brauchst du nur den datensatz der tabelle übernehmen
z.b im drag un drop ereignis:
ausblenden Quelltext
1:
2:
3:
adoquery1. edit;
adoquery1.fieldbyname('****').asstring := adoquery2Fieldbynamme ('****').asstring;
adoquery1.post;

dann müsstest du in eigentlich in der anderen tab haben,

gruß löschi

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
nigel Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 29.01.03 11:53 
löschi hat folgendes geschrieben:
hi ,
soweit ich weiß brauchst du nur den datensatz der tabelle übernehmen


Danke löschi, aber ich möchte die Datensätze nicht eins zu eins übernehmen, sondern nur teilweise, zusätzlich kommen noch Daten aus anderen DB-Tabellen. Außederm gibt es in der Zieltabelle ein Feld namens Position nachdem das Grid sortiert ist. Fügt nun der Benutzer mitten in der Tabelle etwas ein, so möchte ich wissen, bei welchem Datensatz dies geschehen ist, so dass ich bei allen nachfolgenden dieses Positionsfeld ändern kann. Hier bei hatte ich obiges Problem, dass mousecoord.y und recno bei einem gescrollten DB-Grid nicht deckungsgleich sind.