你可以在DBNavigator的BeforeAction事件中做判断, 比如: 如果点了post按钮, procedure TForm1.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn); begin if Button=nbPost then begin //在这里取得记录值,加入你对新增记录的判断 Abort; end; end;
好像不行 procedure TMainData.DBBookClassBeforePost(DataSet: TDataSet); var ls_str,ls_b: Integer; begin if DBBookClass.FieldByName('Column1').Value = '' then begin 处理 end; end; 提交是还是会出现英文提示的column1不能为空
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn); begin if button =nbPost then if 条件不成立 then abort; end;
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn); } begin case Button of nbFirst : do something; nbPrior : do something; nbNext : do something; nbLast : do something; nbInsert : do something; nbDelete : do something; nbEdit : do something; nbPost : do something; nbCancel : do something; nbRefresh: do something; end; end;
比如:
如果点了post按钮,
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if Button=nbPost then
begin
//在这里取得记录值,加入你对新增记录的判断
Abort;
end;
end;
procedure TMainData.DBBookClassBeforePost(DataSet: TDataSet);
var
ls_str,ls_b: Integer;
begin
if DBBookClass.FieldByName('Column1').Value = '' then
begin
处理
end;
end;
提交是还是会出现英文提示的column1不能为空
Button: TNavigateBtn);
begin
if button =nbPost then
if 条件不成立 then
abort;
end;
Button: TNavigateBtn);
}
begin
case Button of
nbFirst : do something;
nbPrior : do something;
nbNext : do something;
nbLast : do something;
nbInsert : do something;
nbDelete : do something;
nbEdit : do something;
nbPost : do something;
nbCancel : do something;
nbRefresh: do something;
end;
end;