この機能を実現するには2つの方法があります。
1つはTable側で新規レコードを追加させないようにする方法 と DBGrid側でチェックする方法があります。
本当はDBGrid本体で新規レコード行を表示しないようできると便利だと思うのですが、
コンポーネントを修正しないとだめなので簡単にできる方法を紹介します。
テーブル側で処理する方法
procedure TForm1.Tbable1BeforeInsert(DataSet: TDataset);
begin
Abort;
end;
DBGrid で処理する方法
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin with DBGrid1.DataSource.DataSet do begin if (Key = VK_DOWN) then begin DisableControls; Next; if (EOF) then Key := 0 else Prior; EnableControls; end; end; end;
コメント (0件)