起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 117|回复: 7

【搞定】[请求]如何更改数据集的更改标志**

[复制链接]
发表于 2007-12-20 17:31:28 | 显示全部楼层 |阅读模式
要要更改数据的修改标志:ProjectInfoDataSet.Modified:=false; 提示只读属性不能修改,请问如何才能达到修改数据集修改标志呢?
回复

使用道具 举报

发表于 2007-12-20 17:36:22 | 显示全部楼层
没有太理解,你是要控制数据集只读或者可写权限吗?
如果是,直接对数据集的ReadOnly 设置为True或者False就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-21 09:28:01 | 显示全部楼层
//项目基本信息编辑前事件
procedure TContractINFO.OnProjectInfoBeforeEdit(Sender:TDataSet);
var
   objID:string;
   accType:string;
begin
      objID:= GetProjectID(Sender);
      accType:='编辑项目基本信息';

      //如果访问冲突,则回滚已经修改的数据
      if  BeforeEditHandler(objID,accType) then
         begin
            //Sender.Modified:=false;
            Sender.DisableControls;
         end;
end;

捕获数据集编辑前事件,当检测到冲突时(也就是有其它也在访问这个项目信息),回滚已经修改的数据,并不允许用户修改,但退出窗体的时候,会弹出数据集已经更改,提示是否保存的消息框,我就是想在检测到冲突的时候,退出窗体的时候不提出保存对话框,请问如何实现?谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-12-21 09:43:11 | 显示全部楼层
加一个dataset.CancelUpdates
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-21 09:55:46 | 显示全部楼层
加了也没有用,还是弹出保存对话框
回复 支持 反对

使用道具 举报

发表于 2007-12-21 11:12:34 | 显示全部楼层
加的地方不对吧。你修改一下数据,然后执行这个函数,看还提示否?
回复 支持 反对

使用道具 举报

发表于 2007-12-21 11:22:38 | 显示全部楼层
取消更新后刷新一下数据集就好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-21 17:38:19 | 显示全部楼层
谢谢各位,搞定了,结账
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-3 11:04 , Processed in 0.043433 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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