起步软件技术论坛-X3

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

【结】导航条删除功能改写的问题

[复制链接]
发表于 2009-9-19 08:55:04 | 显示全部楼层 |阅读模式
功能界面上一个主表和几个子表,主表和子表是主从关系,现在需要改写导航条上的删除功能,删除主表或子表时,分别对主表和子表的删除标记做记号,我写了一个语句,但这个好像不能判断到底是删除主表还是子表,请问怎么获得主表和子表的表名,将表名作为参数传递给存储过程,以区分删除时到底是对主表做删除标记还是对子表做删除标记?

目前参考代码如下:
procedure TMainForm.DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
VAR
   lq : Tquery;
   ygbh : string;
begin
    case (Sender as TBizDataSetAction).ID of
     BizActnConsts.ActionDataSetDelete:
     begin
        //在这里写你自己的代码,可以用lQuery发sql语句更新你的标记字段
         if JsDialogs.ConfirmBox('确定删除吗?','提示信息',1) then
            begin
               lq := Business.Data.TQuery.Create(nil);
               lq.ConnectionString :='DATABASEURL=Biz:\RSDAGL\HR.Database';
            try
               lq.CommandText := 'exec dbo.HR_Del :YGBH, :Succeed, :Mes';
               ygbh := DataSetBroker1.DataSet.FieldByName('YGBH').AsString;
               lq.Params.ParamByName('YGBH').AsString :=  ygbh;
               lq.Params.ParamByName('Succeed').AsInteger := 0;
               lq.Params.ParamByName('Mes').AsString := '';
               lq.Execute;

               lq.free;
               jsdialogs.ShowMsg('恭喜,员工信息删除成功!','提示');
             DataSetBroker1.DataSet.REFRESH ;
         except
               lq.free;
               jsdialogs.ShowError('对不起,员工信息删除失败!','提示');
         end;
    end;
        //自己代码完
        Accept := False;  //这句是要的,不再执行默认的删除动作
     end;
  end;
end;
回复

使用道具 举报

发表于 2009-9-19 10:26:08 | 显示全部楼层
可以截获当前数据导航感知的是哪个数据集,参考
http://bbs.justep.com/forum.php?mod=viewthread&tid=517   2楼
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-19 15:21:32 | 显示全部楼层
已解决,感谢,请结贴。
回复 支持 反对

使用道具 举报

发表于 2009-9-19 16:03:44 | 显示全部楼层
ok
不客气
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-16 01:57 , Processed in 0.035404 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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