起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 175|回复: 4

【搞定】计算字段取值**

[复制链接]
发表于 2007-6-1 16:03:15 | 显示全部楼层 |阅读模式
计算字段A展示的时候是1 ,可是取字段值的时候却是0
这是该计算字段onCalcField中的一段
字段类型是整数
if c = d then
    begin
      value := 1;
      jsDialogs.showmsg(sysutils.IntToStr(DataSetXC.FieldByName('A').AsInteger), 'aa');
    end
    else
    begin
      value := 0;
    end;

dialog的结果是0,可是前面明明取值为1呀,这是为什么?
回复

使用道具 举报

发表于 2007-6-1 18:54:16 | 显示全部楼层
呵呵,我测试了,要直接给字段赋值就对了,但运行后值又看不到,如果你着急,你先这样做
DataSetXC.FieldByName('A').AsInteger:= 1;
Value :=1;

这样又运行后,在界面上又看到值,你访问也能访问到实际赋的值
回复 支持 反对

使用道具 举报

发表于 2007-6-1 18:58:24 | 显示全部楼层
计算字段只有onCalcField事件执行完后才能赋上值,你的  jsDialogs.showmsg(sysutils.IntToStr(DataSetXC.FieldByName('A').AsInteger), 'aa');
这句代码写在这里字段里还没有值呢,你把这句放到其他的地方执行一下看看就有值了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-4 11:59:20 | 显示全部楼层
to2楼  : 好吧,这样确实可以实现了
to3楼  : 不是,也没有值,我就是在调用窗体中使用dialog取出的为0 ,才想到事件中看看

多谢,解决了
回复 支持 反对

使用道具 举报

发表于 2007-6-4 14:07:57 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 07:45 , Processed in 0.038087 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表