Thema: Delphi DBGRID Insert verhindern

Einzelnen Beitrag anzeigen

moebus

Registriert seit: 3. Aug 2005
7 Beiträge
 
Delphi 7 Professional
 
#9

Re: DBGRID Insert verhindern

  Alt 10. Nov 2005, 16:01
Die Ideen sind Grundsätzlich alle in Ordnung nur haben Sie ein Gedankfehler.

Das Query steht in einem Datamodul da aus mehreren Formulare drauf zu gegriffen wird. Dadurch kann ich das Insert nicht im Query abfangen, da in einigen Routinen Importfilter laufen die auf dieses Query zugreifen.

Beim DgEditing habe ich das Problem, das meines Wissens neben dem Insert auch das Editieren gesperrt wird.

Die einzigste Möglichkeit die ich im Moment sehe, besteht darin das Query zu duplizieren, den Insert abzufangen, wie oben von Garby beschrieben und dieses zweite Query auschlieslich zur Darstellung und zum Editieren zu nutzen. Allerdings ist dies eine sehr umständliche Lösung.

In meiner Anwendung die noch keine 5% der Zielgrösse hat sind bereits jetzt rund ein dutzend Querys von dem Problem betroffen, da ich viele Bearbeitungsmöglichkeiten über DBGRID's geregelt habe und nicht über eigene Formulare oder ähnliches. Man kann sich nun vorstellen, das der Aufwand masiv steigt, wenn ich immer zwei Query's erstellen muss um eins für den Insert und eins zum darstellen und editieren zu haben.

Eigentlich hatte ich gehofft einfach nur einen Schalter ähnlich dem dgediting übersehen zu haben.

Das löschen der Datensätze via STRG+Entf musste ich auch schon durch die Hintertür lösen, indem ich in dem Keydownereigniss besagte Tastenkombinationabfangen und nulle.

Sollte keiner eine Idee haben wie ich das Insert innerhalb des Grides verhindere, so stellt sich nun die Frage ob es evtl. irgendwelche Kombonenten von Fremdentwicklern gibt, die ein entsprechendes leistungsfähiges und flexibles DBGRID zur Verfügung stellen. Selbst verständlich bevorzugt kostenlos

Mfg

Moebus

P.S. Jaja, wer lesen kann ist klar im Vorteil. Habe gerade eben beim zweiten mal lesen erst gesehen das Eddy das Problem richtig erkannt hat. Hoffe ihm fällt wieder ein wie ich trotz dgEditing = false das editieren ermöglichen kann, dann wäre das Problem perfekt gelöst.
  Mit Zitat antworten Zitat