写了一段代码你参考一下:
procedure TMainForm.DataSetBroker1DataChange(Sender: TObject; Field: TDataField);
begin
if ( Field <> nil) and (Field.FieldName ='ZD2') then
begin
DataSetBroker2.DataSet.Open;
DataSetBroker2.DataSet.Locate('ID',Field.AsString,[]);
if DataSetBroker2.DataSet.eof = False then
begin
DataSetBroker1.DataSet.Edit;
DataSetBroker1.DataSet.FieldByName('ZD3').AsString :=DataSetBroker2.DataSet.FieldByName('ID').AsString;
end
else
begin
DataSetBroker1.DataSet.Edit;
DataSetBroker1.DataSet.FieldByName('ZD3').AsString :=''
end;
end;
end;
if (field <>nil ) and(Field.FieldName='FFWJBH') then
begin
ffbh := dsb_ff.DataSet.FieldByName('ffwjbh').AsString;
dsb_qc.DataSet.Open;
dsb_qc.DataSet.Locate('wjbh',ffbh,[]);
if dsb_qc.DataSet.eof = False then
begin
dsb_ff.DataSet.Edit;
dsb_ff.DataSet.FieldByName('wjnr').Assign(dsb_qc.DataSet.FieldByName('wjnr'));
end
else
begin
dsb_ff.DataSet.Edit;
//(dsb_ff.DataSet.FieldByName('wjnr').isnull);
end;
end;
end;
没有实现