用代码怎么触发CalcFields事件
我以CalcFields事件中的代码如下
procedure TFrmDeptTicketManual.ADOQueryDetCalcFields(DataSet: TDataSet);
var index:integer;
begin
index:=self.AllCSD.IndexOf(self.ADOQueryDet.FieldByName('DepartmentId').AsString);
if index<>-1 then
self.ADOQueryDet.FieldByName('BalQty').AsInteger:=integer(self.AllCSD.Objects[index]);
end;
AllCSD是一个TStringList对象,当要修改了AllCSD中的值时,我要触发CalcFields事件,用代码要怎么控制?
AllCSD的添加代码如下
AllCSD:=TStringList.Create;
for I := 0 to ADOQuery.RecordCount - 1 do
begin
self.AllCSD.AddObject(ADOQuery.FieldByName('DepartmentId').AsString,
Pointer(ADOQuery.FieldByName('Qty').AsInteger));
ADOQuery.Next;
end;