DBGridの特定の行の編集不可


TD  2009-02-16 13:13:43  No: 33397  IP: 192.*.*.*

いつも参考にさせていただいております。

現在Delphi2006で開発を行っています。
DBGridの特定の行を編集不可状態にしたいのですが、

dbGrid1.Enable := False

だとグリッドすべてが入力不可になってしまいます。
(当たり前ですね…。)

もしお分かりの方がいらっしゃいましたら、
お教えていただければ助かります。

宜しくお願い致します。

編集 削除
Hiroki  2009-02-16 14:19:26  No: 33398  IP: 192.*.*.*

あくまで簡単な発想ですが・・・。


元となっている[Table]または[Query]の[AfterScroll]イベントにて

  if DataSet.FieldByName('ID').AsInteger = 2 then
  begin
    DBGrid1.ReadOnly := True;
  end else begin
    DBGrid1.ReadOnly := False;
  end;


Enableだと、ご存じのとおりコントロール全てが使用不可になってしまいます。
ReadOnlyにすれば、触れるけど、変更不可となります。

編集 削除