起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 董一

【结】[请求]关于DataGrid中CheckBox单选问题!

[复制链接]
 楼主| 发表于 2010-5-8 11:43:58 | 显示全部楼层
最初由 shangxy 发布
[B]用数据集的bookmark试试。 [/B]


哦!我试下!谢谢shangxy 。
回复 支持 反对

使用道具 举报

发表于 2010-5-8 13:09:44 | 显示全部楼层
楼主,我也无语了,因为看不懂你的代码和你的描述,代码也没有贴全
你说5楼说,你的代码是写在 DataNavigatorBeforeAction里面写的,当BizActnConsts.ActionDataSetSave(保存)时候触发,那么插入新数据时候,就不需要做动作了,

顺便再问一下,你说在插入新数据时候,这个值 EmpEduDataSet.RecNo  是在BeforeInsert还是在AfterInsert上呢,应该在BeforeInsert就能看到了,具体原因可以参考delphi的帮助


顺便说一句,既然你是在保存的时候检查,就不需要在插入时候做动作了,所有逻辑都在导航条的保存按钮上实现就可以了。参考代码如下
var
  i integer;
  lBookMark :String;
begin
// 在这里加上一句判断是否是保存按钮
  i:=0;
  lBookMark := DataSetBroker1.DataSet.Bookmark;
  DataSetBroker1.DataSet.DisableControls;
  DataSetBroker1.DataSet.First;
  while not DataSetBroker1.DataSet.Eof do
    begin
      if DataSetBroker1.DataSet.FieldByName('sl').AsInteger = 1 then
         i:=i+1;
      DataSetBroker1.DataSet.next;
    end;
    if i>1 then
    begin
      dialogs.ShowMessage('已经超出一条了');
      Accept := False;
      DataSetBroker1.DataSet.Bookmark :=lBookMark;
      DataSetBroker1.DataSet.EnableControls;
      sysutils.Abort;
    end;
      DataSetBroker1.DataSet.Bookmark :=lBookMark;
      DataSetBroker1.DataSet.EnableControls;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-8 13:26:12 | 显示全部楼层
恩!可能是我表达不清楚吧!
不过通过BoolMark或者存储过程可以实现了!
谢谢几位啊!
结吧!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 22:03 , Processed in 0.045571 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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