起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 166|回复: 9

【结帖】dataNavigator的控制`**

[复制链接]
发表于 2007-11-14 14:03:59 | 显示全部楼层 |阅读模式
请问:
     一个窗体中有多个docview,操作多个数据集,经常出现datanavigator错乱的问题,如何指定一个datanavigator固定控制一个docview?
    还有就是,datanavigator中的新增,删除实现的代码在哪里?我如何可以覆盖或者时修改其中的一部分功能?
  谢谢!
回复

使用道具 举报

发表于 2007-11-14 14:26:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 11:34:22 | 显示全部楼层
2、可以设计一组按钮,用ToolBar或者BitButton都可以,并连接系统提供的Action直接处理相应DataSet的Insert、Post等操作,以达到DataNavigator的效果

(我action里没有内容啊
?)
3、可以在DataNavigator的BeforeAction事件中截获到用户操作的那个按钮,代码示例如下:

  case TBizDataSetAction(Sender).ID of
      BizActnConsts.ActionDataSetFirst: ShowMessage('ActionDataSetFirst'); { 最前 }
      BizActnConsts.ActionDataSetPrior: ShowMessage('ActionDataSetPrior'); { 向前 }
      BizActnConsts.ActionDataSetNext: ShowMessage('ActionDataSetNext'); { 向后 }
      BizActnConsts.ActionDataSetLast: ShowMessage('ActionDataSetLast'); { 最后 }
      BizActnConsts.ActionDataFetch: ShowMessage('ActionDataFetch'); { 取下一页 }
      BizActnConsts.ActionDataFetchAll: ShowMessage('ActionDataFetchAll'); { 全部取 }
      BizActnConsts.ActionDataSetRefresh: ShowMessage('ActionDataSetRefresh'); { 刷新 }
      BizActnConsts.ActionDataSetFilter: ShowMessage('ActionDataSetFilter'); { 过滤 }
      BizActnConsts.ActionDataSetInsert: ShowMessage('ActionDataSetInsert'); { 插入 }
      BizActnConsts.ActionDataSetCopyInsert: ShowMessage('ActionDataSetCopyInsert'); { 插入复制 }
      BizActnConsts.ActionDataSetAppend: ShowMessage('ActionDataSetAppend'); { 新增 }
      BizActnConsts.ActionDataSetCopyAppend: ShowMessage('ActionDataSetCopyAppend'); { 新增复制 }
      BizActnConsts.ActionDataSetCancel: ShowMessage('ActionDataSetCancel'); { 取消 }
      BizActnConsts.ActionDataSetDelete: ShowMessage('ActionDataSetDelete'); { 删除 }
      BizActnConsts.ActionDataSetSave: ShowMessage('ActionDataSetSave'); { 保存 }
    ......
  end

这段代码具体在么用啊?能给个例子吗?
回复 支持 反对

使用道具 举报

发表于 2007-11-15 13:37:29 | 显示全部楼层
这段代码是写在DataNavigator的BeforeAction事件中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 16:06:58 | 显示全部楼层
BizActnConsts.ActionDataSetAppend: ShowMessage('ActionDataSetAppend'); { 新增 }
这里的新增是不是替换成我自己的代码?
回复 支持 反对

使用道具 举报

发表于 2007-11-15 16:20:25 | 显示全部楼层
不是,这是个注释

自showmessage位置,你可以写自己的代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 17:00:45 | 显示全部楼层
2、可以设计一组按钮,用ToolBar或者BitButton都可以,并连接系统提供的Action直接处理相应DataSet的Insert、Post等操作,以达到DataNavigator的效果

(我action里没有内容啊
?)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 17:06:52 | 显示全部楼层
比如我要在点击新增按纽的时候,弹出这样一个窗体的代码,
代码应该写在BizActnConsts.ActionDataSetAppend: 的后面吗>?
var

  lForm:  TXKZMX_Form;
begin
  lForm :=  TXKZMX_Form.Create(self.Context);
  try
    lForm.ShowModal;
  finally
    lForm.Free;
  end;
  end;
回复 支持 反对

使用道具 举报

发表于 2007-11-15 17:07:03 | 显示全部楼层
关于对ActionList的操作,楼主可以参考一下delphi
这是一个delphi的控件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 17:11:16 | 显示全部楼层
ok,解决了,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-30 14:48 , Processed in 0.038439 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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