AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TDBGrid: Read-Only-Feld

Ein Thema von hoika · begonnen am 18. Jul 2016 · letzter Beitrag vom 21. Jul 2016
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.376 Beiträge
 
Delphi 12 Athens
 
#4

AW: TDBGrid: Read-Only-Feld

  Alt 19. Jul 2016, 12:35
Col.SetReadOnly > Grid.InvalidateCol scheint wohl nur die Anzeige/Grafik, aber nicht den ReadOnly-Status zu aktualisieren.

Delphi-Quellcode:
procedure TForm1.dbGridAssistentenCellClick(Column: TColumn);
begin
  if Column.Field.FieldName='markiertthen
    Column.ReadOnly := True;
end;

procedure TForm1.dbGridAssistentenDblClick(Sender: TObject);
begin
  //if not (cdAssistent.State in [dsEdit,dsInsert]) then // Edit macht eh nichts, wenn es schon im Edit/Insert-Modus ist
    cdAssistent.Edit;

  if dbGridAssistenten.SelectedField.FieldName='markiertthen // was wohl passiert, wenn kein Feld markiert währe?
  begin
    if dbGridAssistenten.SelectedField.AsString='then
      dbGridAssistenten.SelectedField.AsString := 'x'
    else
      dbGridAssistenten.SelectedField.AsString := '';
    cdAssistent.Post;
    // hier das Grid dazu bringen den "Eingabe"-Modus zu beenden
  end;
end;
Coumn.ReadOnly := True; : ReadOnly wird bestimmt schon beim ColumChange ausgewertet,
aber warum erst beim Click setzen und nicht gleich im FormCreate, beim Laden der Daten oder nach Erstellen der Gridspalten?


cdAssistent.Post; speichert nur das DataSet, aber das DataSet hat nichts mit dem Grid zu tun, bzw. die beiden "EDIT" sind nicht das Selbe/Gleiche.
Das DataSet wird (automatisch) erst bei einer Wert-Änderung in den Editmodus versetzt und die Zelle ist schon vorher unabhängig in ihrem EditEingabeModus.

Du könntest es mit den Protected-Methoden Grid.InvalidateEditor und Grid.ShowEditor versuchen, welche den InplaceEditor aktualisieren. (Grid.UpdateEdit)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Jul 2016 um 12:43 Uhr)
  Mit Zitat antworten Zitat
 


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:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz