用代码怎么触发CalcFields事件

nightmaple 2009-12-01 10:02:10
我以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;
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nightmaple 2009-12-01
  • 打赏
  • 举报
回复
刚试了,计算了当前行,我要全部重新计算,wzwcn有什么方法吗?
nightmaple 2009-12-01
  • 打赏
  • 举报
回复
看了楼上的回复,我觉得我的问题好白痴。。。^_^!!!
wzwcn 2009-12-01
  • 打赏
  • 举报
回复
直接调这个方法,ADOQueryDetCalcFields,比如:

ADOQueryDetCalcFields(你的数据集);
lyhoo163 2009-12-01
  • 打赏
  • 举报
回复
up

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧