AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Abfrage, wenn anderer Datensatz in DBGrid

Abfrage, wenn anderer Datensatz in DBGrid

Ein Thema von Gambit · begonnen am 8. Jun 2003 · letzter Beitrag vom 8. Jun 2003
Antwort Antwort
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Abfrage, wenn anderer Datensatz in DBGrid

  Alt 8. Jun 2003, 06:15
Hallo!

Wenn ich einen neuen Datensatz anlege oder einen bestehenden Datensatz editieren möchte, werden bei meiner DB zwei Button aktiviert, Speichern oder Verwerfen. Wenn ich in diesem Zustand auf einen anderen Datensatz wechsele und dann auf einen dieser Button klicke, kommt eine Exception mit der Fehlermeldung "Datenmenge weder im Editier noch im Einfügemodus".
Das ist ja auch richtig so und ich verhindere das bei meinen Navigationsbuttons durch eine Abfrage, ob man die Änderungen speichern möchte. Wenn ich aber den Datensatz in der DBGrid ändere, geht dieses nicht, weil ich nicht wüsste, an welcher Stelle man diese Abfrage dann einbauen könnte.
Ich hab im Moment das Problem so gelöst, dass die DBGrid disabled wird, solange man nicht gespeichert oder verworfen hat, das gefällt mir aber nicht so richtig, lieber wäre mir, wenn hier auch eine Abfrage käme.

Hoffe, ich hab mich einigermaßen verständlich ausgedrückt und vielleicht gibts ja ne Lösung.

Grüße und frohes Pfingstfest

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 8. Jun 2003, 10:01
Hallo Gambit,

die Komponente TDataSource stellt die beiden Ereignisse OnDataChange und OnStateChange zur Verfügung, die sollten die weiterhelfen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 8. Jun 2003, 10:14
Also OnDataChange geht schon mal nicht, weil das ja auch schon eintritt, wenn ich ein Feld editiere. Der User soll ja erst freundlich auf sein Vergessen, das Editieren oder Neuanlegen eines Datensatzes mit Speichern oder Verwerfen abzuschließen, hingewiesen werden, wenn er in diesem Modus auf die Idee kommt, den Datensatz zu wechseln. Das kann ich eben bei meinen selbstgestrickten Buttons o.ä leicht realisieren, nur beim DBGrid hauts nicht hin.


Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 8. Jun 2003, 10:44
Hallo Gambit,
das BeforeScroll Event des TTable Objekts zeigt dir an, das weitergeblättert werden soll. Und der "State" der TDataSource Komponente in welchem Zustand sich die Tabelle gerade befindet. Frage also State in BeforeSroll ab und frage den Nutzer, was er mit dem Datensatz machen will.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#5
  Alt 8. Jun 2003, 11:06
Danke, das würde bestimmt gehen, ich habe nur leider kein TTable Objekt, weil ich mir gedacht hatte, mit einem TQuery Objekt fällt es mir leichter Suchfunktionen u.ä zu implementieren.

Gruß

Gambit
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#6
  Alt 8. Jun 2003, 11:08
Hmm, das scheint da aber auch zu gehen...

Gambit
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz