Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

TDBGrid: Read-Only-Feld

  Alt 18. Jul 2016, 13:37
Hallo,
ich kriegs nicht hin !!! ;(

http://stackoverflow.com/questions/2...cell-in-delphi

Was will ich:
Ich will bei einer Spalte ein CheckBox-Feld simulieren (x=Checked).
Das darunterliegende Feld ist ein String[1] eines TClientDataSets.

Per Doppelklick will ich markieren/ demarkieren.

AutoEdit ist auf True gesetzt.

Doppelklick schaltet zwar schön um, die Zelle bleibt aber im Edit-Mode.

Ich mag das TDBGrid einfach nicht ...

Delphi-Quellcode:
procedure TForm1.dbGridAssistentenCellClick(Column: TColumn);
begin
  inherited;

  if Column.Field.FieldName='markiertthen
  begin
    Column.ReadOnly := True;
  end;
end;

procedure TForm1.dbGridAssistentenDblClick(Sender: TObject);
begin
  inherited;

  // Status des ClientDataSets cdAssistent prüfen

  if not (cdAssistent.State in [dsEdit,dsInsert]) then
  begin
    cdAssistent.Edit;
  end;

  if dbGridAssistenten.SelectedField.FieldName='markiertthen
  begin
    if dbGridAssistenten.SelectedField.AsString='then
    begin
      dbGridAssistenten.SelectedField.AsString := 'x';
    end
    else
    begin
      dbGridAssistenten.SelectedField.AsString := '';
    end;
    cdAssistent.Post;
  end;
end;
Weiss jemand, wie ich das hinbekomme?
Heiko
  Mit Zitat antworten Zitat