Autor Beitrag
cyberax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 247

Win XP Pro
Delphi 5 Enterprise
BeitragVerfasst: Mi 12.10.05 20:18 
Hallo,

Ich habe zwei DBGrid's. Diese greifen auf die selben Tabellen zu, allerdings das eine uber eine query abfrage (das DBGrid1). Nun möchte ich, dass in dem zweiten Grid (dbgrid2) automatisch auf die selbe Stelle gewechselt wird, wie in dem Dbgrid1 wenn ich eine Reihe wähle. Das wollte ich mit der Funktion "
db_fenster.datasource_rechnungen.DataSet.Locate('Nummer',db_fenster.datasource_rechnung1.DataSet.FieldByName('Nummer').AsString,[]);"
gestallten.

(Datasource_rechnung1 = die auf die dbgrid1 zugreift und die mit Query Abfrag)

Das funktioniert auch soweit, nur wird in dem DBgrid1 nicht der Focus auf der Reihe gelassen, die ich wählte sondern er springt immer wieder zu ersten Reihe.

Versteht ihr mein Problem? Kann mir jemand helfen?


Mfg Daniel
cyberax Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 247

Win XP Pro
Delphi 5 Enterprise
BeitragVerfasst: Mi 12.10.05 21:45 
Ich habe inzwischen folgendes versucht:

- wenn ich die Funktion db_fenster.datasource_rechnungen.DataSet.Locate('Nummer',db_fenster.datasource_rechnung1.DataSet.FieldByName('Nummer').AsString,[]);

in procedure Tdb_fenster.Query_RechnungAfterScroll(DataSet: TDataSet);
schreibe, dann kommt der Fehler Stack Überlauf.

Wenn ich die Funktion in procedure Tdb_fenster.Query_RechnungBeforeScroll(DataSet: TDataSet); schreibe, dann kommt zwar der Fehler nicht, aber mein Grid hängt immer genau einmal zurück. (Ich drücke beispielsweise auf Reihe 2 im DBGrid und dann Reihe 1 und es kommt erst die zuerst aktive Reihe, dann die 2 und so weiter.

Wie kann ich das umgehen / ändern?
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mi 12.10.05 22:07 
Normalerweise macht man eine Master-Detail Beziehung mit den MasterSource und Masterfields Eigenschaften des TDatasets... Dann klappt das auch alles, nur das vielleicht der Datensatzzeiger im Detailgrid immer wieder auf die erste Zeile springt. Schlimm ist das ja nicht,