我以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;