起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 172|回复: 11

【搞定】控制数据集只读中遇到的怪问题。。。**

[复制链接]
发表于 2007-12-5 13:30:45 | 显示全部楼层 |阅读模式
if Field.FieldName = 'REQUOTATION' THEN // 判断重新报价字段
  BEGIN
    if Field.AsString = 'T' THEN
      BEGIN
      DataSetEDIT_MAT_COMPARE_QUALITY_PIRCE.Readonly := false;
      END
    else
      DataSetEDIT_MAT_COMPARE_QUALITY_PIRCE.Readonly := true;
  END;
当选中重新报价后,才能对左下脚的grid进行编辑
但是当选择后,‘说明’字段依旧只读,但是切换到‘单价’后,‘单价’可以进行编辑,再切换到‘说明’后,说明也可以进行编辑,这是怎么回事?是不是我哪处理的不对,选择的事件有问题?

1.jpg

48.91 KB, 下载次数: 100

回复

使用道具 举报

发表于 2007-12-5 13:50:06 | 显示全部楼层
楼主选择的什么事件进行控制的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 13:52:37 | 显示全部楼层
我是再数据集的FieldChange(DataSet: TDataSet; Field: TDataField)事件中实现的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 14:19:42 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

发表于 2007-12-5 14:33:06 | 显示全部楼层
别老几分钟就一顶。
应该是没post,这个事件可能没触发。你设个断点,看看代码能不能跳进来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 14:34:59 | 显示全部楼层
事件触发了,请仔细看下我1楼的描述。。。设置的断点,代码能跳进来的,而且执行的也对
对于几分钟一顶,这个问题可以看出我比较着急,而且21分钟也算几分钟的话,我没什么好说的。。。
回复 支持 反对

使用道具 举报

发表于 2007-12-5 14:50:44 | 显示全部楼层
1楼的描述,我看不出哪里写的代码跳了进来。
那您稍等下,我自己测试一下。您的版本是什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 14:53:03 | 显示全部楼层
2819
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 14:59:34 | 显示全部楼层
当选中1楼图中的重新报价后,当焦点移动到左下脚的Grid上后,进入FIELDCHANGE事件
// DataSetEDIT_MAT_COMPARE_QUALITY_PIRCE 就是左下角grid的数据集
  if Field.FieldName = 'REQUOTATION' THEN
  BEGIN
    if Field.AsString = 'T' THEN
      BEGIN
      DataSetEDIT_MAT_COMPARE_QUALITY_PIRCE.Readonly := false;
      END
    else
      DataSetEDIT_MAT_COMPARE_QUALITY_PIRCE.Readonly := true;
  END;
点击左下角焦点所在字段,就出现1楼描述的问题
回复 支持 反对

使用道具 举报

发表于 2007-12-5 15:03:14 | 显示全部楼层
你设置断点跟踪一下,你的逻辑是否有问题
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-1 21:19 , Processed in 0.045050 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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