AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid - Datensatz NICHT ändern ??
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid - Datensatz NICHT ändern ??

Offene Frage von "DevStar"
Ein Thema von DevStar · begonnen am 26. Jul 2008 · letzter Beitrag vom 27. Jul 2008
Antwort Antwort
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#1

DBGrid - Datensatz NICHT ändern ??

  Alt 26. Jul 2008, 20:32
Datenbank: BDE, Firebird • Version: 5.11, 2.x • Zugriff über: Delphi
Hallo,

weiß jemand, wie ich es verhindere, das der aktuelle Datensatz gespeichert wird, wenn sich der Cursorbalken (Row) im Grid bewegt, bzw. ich auf einen anderen Eintrag im Grid mit der Maus klicke?

Gruß DevStar
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DBGrid - Datensatz NICHT ändern ??

  Alt 26. Jul 2008, 20:35
DBGrid auf ReadOnly setzen
Markus Kinzler
  Mit Zitat antworten Zitat
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#3

Re: DBGrid - Datensatz NICHT ändern ??

  Alt 26. Jul 2008, 20:39
Zitat von mkinzler:
DBGrid auf ReadOnly setzen
Schon klar, die Eigenschaft ReadOnly ist True.

Anders erkärt.

Ich habe etwas in einem DBEdit geändert, will das aber nicht übernehmen.
Klicke ich nun im dbGrid auf einen anderen Eintrag, wurde die Veränderung trotzdem übernommen.

Das bekomme ich nicht hin.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DBGrid - Datensatz NICHT ändern ??

  Alt 26. Jul 2008, 20:42
Ruf .Cancel() auf
Markus Kinzler
  Mit Zitat antworten Zitat
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#5

Re: DBGrid - Datensatz NICHT ändern ??

  Alt 26. Jul 2008, 20:50
Beim DBGrid1CellClick(Column: TColumn) - Event?

Es soll ja nur nix geändert werden, wenn der Anwender wie wild im Grid rumklickt.

Das funktioniert nur, wenn auf die selbe Zeile geklickt wird.
Bei einer anderen Zeile besteht da Problem weiterhin.

Es gibt ja nur CellClick und nicht irgendwie GridClick oder so.

AUsserdem sollte ein Datensatzwechsel vorher abgefragt werden: DataSet.Modified

z.B.
Delphi-Quellcode:
  if DataSetHaus.Modified = true then
    if MessageDlg('Änderungen speichern?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
      begin
        DataSetHaus.Post;
        //DataModuleLOP.xTransaction.Commit;
      end
    else
      begin
        DataSetHaus.Cancel;
        //DataModuleLOP.xTransaction.Rollback;
      end;
so ähnlich irgendwie.

Edit: Also o.g. funktioniert, halt nur in der enzsprechenden Zeile.
Muss also irgendwie auf die anderen Zeilen zu übertragen sein.
  Mit Zitat antworten Zitat
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#6

Re: DBGrid - Datensatz NICHT ändern ??

  Alt 26. Jul 2008, 21:32
Man bich heute wieder doof.

Lösung: DBGrid1Enter

Dachte das gilt nicht für die Maus.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: DBGrid - Datensatz NICHT ändern ??

  Alt 27. Jul 2008, 08:00
Schau Dir mal die Ereignisse der TDataSource an. Dort kann (und soll) man auf das 'Post' reagieren und es ggf. abbrechen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:36 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