代码判断显示ZGBH的字段失去焦点 procedure Tfrm_bxtz.DBGridEh3ColExit(Sender: TObject); begin if not (Query3.State in [dsInsert]) then exit; if Uppercase(DBGridEh3.SelectedField.FieldName)='ZGBH' then //编辑职工编号,显示职工姓名 begin if Query3.FieldByName('zgbh').AsString='' then exit; QTemp.Close; QTemp.Sql.Text:='select xm from rdjbda where '+ 'zgbh='''+Query3.FieldByName('zgbh').AsString+''''; QTemp.Open; Query3.FieldByName('xm').AsString:=Qtemp.FieldBYName('xm').AsString; end; end;
DBGrid1ColEnterDBGrid1ColExit
procedure Tfrm_bxtz.DBGridEh3ColExit(Sender: TObject);
begin
if not (Query3.State in [dsInsert]) then exit;
if Uppercase(DBGridEh3.SelectedField.FieldName)='ZGBH' then //编辑职工编号,显示职工姓名
begin
if Query3.FieldByName('zgbh').AsString='' then exit;
QTemp.Close;
QTemp.Sql.Text:='select xm from rdjbda where '+
'zgbh='''+Query3.FieldByName('zgbh').AsString+'''';
QTemp.Open;
Query3.FieldByName('xm').AsString:=Qtemp.FieldBYName('xm').AsString;
end;
end;
怎样在表格控件内部继承DataSet的AfterScroll事件,用DataSet.AfterScroll:=Procedure;
的方法后,在控键外部再次定义该事件时会覆盖掉控间内的Procedure。
望明示
怎么在表格控件中继承这两个事件又不会导致其与外部定义的事件相互覆盖?
改成public ,并为其添加oncellexit事件,并将其公布为oncellexit 事件属性。也许麻烦一点,但可以一劳永逸。