Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#17

AW: SQLite Datensatz löschen - [BUG ?]

  Alt 14. Jan 2015, 11:22
Wenn du nochmal genau lesen möchtest: Im Zitat ging es um ein TDBEdit und nicht um ein TDBGrid.

Etwas ausführlicher: Ich stelle in den meisten meiner DB-Anwendungen eine Tabelle nebst einem Formular zur Verfügung. Die Tabelle (DBGrid) dient der Auswahl des zu bearbeitenden Datensatzes. Das Eingabe-Formular dient der Änderung des aktuellen bzw. dem Einfügen eines neuen Datensatzes. Dabei ist das DBGrid stets auf ReadOnly, die DB-Eingabefelder dagegen werden in den Read-Write-Modus geschalten, sobald der Anwender das entsprechende Dataset in den Edit- oder Appendmodus versetzt. Will der Anwender den aktuellen Record bearbeiten, schaltet er um in die Formular-Darstellung und betätigt den Edit-Button. Zum Umschalten der der Komponenten habe ich immer eigene Methoden:

Delphi-Quellcode:
// ---------- Schreiben erlaubt -------------------------------------------------------------------------------------------------- Privat
Procedure TFormMain.SchreibenErlaubt;
Var
  FarbeAktuell : TColor;
begin
  GLD.EditModus := True;
  TS_ToDo_Tabelle.Enabled := False;
  TS_Kat.Enabled := False;
  TS_Option.Enabled := False;
  Navi_Liste.Enabled := False;

  AL_DB_Close.Enabled := False;
  AL_ED_Append.Enabled := False;
  AL_ED_Del.Enabled := False;
  AL_ED_Edit.Enabled := False;
  AL_ED_Post.Enabled := True;
  AL_ED_Cancel.Enabled := True;
  AL_ED_Find.Enabled := False;
  AL_ED_Import.Enabled := False;
  AL_ED_Export.Enabled := False;
  AL_ED_Print.Enabled := False;

  AL_TXT_SchriftDlg.Enabled := True;
  AL_TXT_Normal.Enabled := True;
  AL_TXT_Fett.Enabled := True;
  AL_TXT_Kursiv.Enabled := True;
  AL_TXT_FettKursiv.Enabled := True;
  AL_TXT_Unter.Enabled := True;
  AL_TXT_FettUnter.Enabled := True;
  AL_TXT_KursivUnter.Enabled := True;
  AL_TXT_Durch.Enabled := True;
  AL_TXT_Schwarz.Enabled := True;
  AL_TXT_Rot.Enabled := True;
  AL_TXT_Gruen.Enabled := True;
  AL_TXT_Blau.Enabled := True;

  GLD.URec.Sicht := 0;
  Sichtbar;
  AL_SICHT_Alle.Enabled := False;
  AL_SICHT_Jahr.Enabled := False;
  AL_SICHT_Monat.Enabled := False;
  AL_SICHT_Woche.Enabled := False;
  AL_SICHT_Heute.Enabled := False;

  Bit_Append.Enabled := False;
  Bit_Delete.Enabled := False;
  Bit_Edit.Enabled := False;
  Bit_Post.Enabled := True;
  Bit_Cancel.Enabled := True;
  Bit_Find.Enabled := False;
  Bit_Import.Enabled := False;
  Bit_Export.Enabled := False;
  Bit_Print.Enabled := False;

  DBEd_Titel.ReadOnly := False;
  DBLU_Kategorie.ReadOnly := False;
  DBDatePick.ReadOnly := False;
  DBTimePick.ReadOnly := False;
  DBCheck_OK.ReadOnly := False;
  DBRich_Notizen.ReadOnly := False;

  If GLD.AppendModus Then
     FarbeAktuell := GLD.FarbeAppend Else
     FarbeAktuell := GLD.FarbeEdit;

  DBEd_Titel.Color := FarbeAktuell;
  DBLU_Kategorie.Color := FarbeAktuell;
  DBDatePick.Color := FarbeAktuell;
  DBTimePick.Color := FarbeAktuell;
  DBCheck_OK.Color := FarbeAktuell;
  DBRich_Notizen.Color := FarbeAktuell;

  StatusBarAktuell;
  DBEd_Titel.SetFocus;
end;

// ---------- Schreiben verboten ------------------------------------------------------------------------------------------------- Privat
Procedure TFormMain.SchreibenVerboten;
begin
  GLD.EditModus := False;
  GLD.AppendModus := False;

  AL_DB_Close.Enabled := True;
  AL_ED_Append.Enabled := True;
  AL_ED_Del.Enabled := True;
  AL_ED_Edit.Enabled := True;
  AL_ED_Post.Enabled := False;
  AL_ED_Cancel.Enabled := False;
  AL_ED_Find.Enabled := True;
  AL_ED_Import.Enabled := True;
  AL_ED_Export.Enabled := True;
  AL_ED_Print.Enabled := True;

  AL_TXT_SchriftDlg.Enabled := False;
  AL_TXT_Normal.Enabled := False;
  AL_TXT_Fett.Enabled := False;
  AL_TXT_Kursiv.Enabled := False;
  AL_TXT_FettKursiv.Enabled := False;
  AL_TXT_Unter.Enabled := False;
  AL_TXT_FettUnter.Enabled := False;
  AL_TXT_KursivUnter.Enabled := False;
  AL_TXT_Durch.Enabled := False;
  AL_TXT_Schwarz.Enabled := False;
  AL_TXT_Rot.Enabled := False;
  AL_TXT_Gruen.Enabled := False;
  AL_TXT_Blau.Enabled := False;

  AL_SICHT_Alle.Enabled := True;
  AL_SICHT_Jahr.Enabled := True;
  AL_SICHT_Monat.Enabled := True;
  AL_SICHT_Woche.Enabled := True;
  AL_SICHT_Heute.Enabled := True;
  GLD.URec.Sicht := 0;
  Sichtbar;

  Bit_Append.Enabled := True;
  Bit_Delete.Enabled := True;
  Bit_Edit.Enabled := True;
  Bit_Post.Enabled := False;
  Bit_Cancel.Enabled := False;
  Bit_Find.Enabled := True;
  Bit_Import.Enabled := True;
  Bit_Export.Enabled := True;
  Bit_Print.Enabled := True;

  DBEd_Titel.ReadOnly := True;
  DBLU_Kategorie.ReadOnly := True;
  DBDatePick.ReadOnly := True;
  DBTimePick.ReadOnly := True;
  DBCheck_OK.ReadOnly := True;
  DBRich_Notizen.ReadOnly := True;

  DBEd_Titel.Color := GLD.FarbeBrowse;
  DBLU_Kategorie.Color := GLD.FarbeBrowse;
  DBDatePick.Color := GLD.FarbeBrowse;
  DBTimePick.Color := GLD.FarbeBrowse;
  DBCheck_OK.Color := PgCtrl_ToDo.Color;
  DBRich_Notizen.Color := GLD.FarbeBrowse;

  TS_ToDo_Tabelle.Enabled := True;
  TS_Kat.Enabled := True;
  TS_Option.Enabled := True;

  DatMod.V_Liste.Locate('ID',DatMod.Qset_Liste.FieldByName('ID_LISTE').AsInteger,[]);
  StatusBarAktuell;
  Navi_Liste.Enabled := True;
  DBEd_Titel.SetFocus;
end;
Miniaturansicht angehängter Grafiken
browse-editmodus.jpg  

Geändert von Perlsau (14. Jan 2015 um 11:38 Uhr)
  Mit Zitat antworten Zitat