起步软件技术论坛-X3

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

运行端组织机构树能否上下移动排序**

[复制链接]
发表于 2007-6-11 11:14:05 | 显示全部楼层 |阅读模式
类似在开发端组织机构树的调整
运行端似乎没有这个功能

1.jpg

29.73 KB, 下载次数: 79

回复

使用道具 举报

发表于 2007-6-11 11:53:28 | 显示全部楼层

在studio设计期是可以调整的
在business中是没有这功能的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-12 10:40:45 | 显示全部楼层
可是我现在需要这个功能
是怎么实现的,有没有代码可以参考
多谢
回复 支持 反对

使用道具 举报

发表于 2007-6-12 13:28:14 | 显示全部楼层
studio中的组织机构根据文件顺序来进行排序的,要设置组织机构对象的顺序,使用“上移”、“下移”命令菜单即可。
一般而言,如果你使用的是TOrgTreeView 控件,那么在运行平台上看到的顺序应该和studio中是一样的;如果是使用一个的TTreeView控件自己写代码装载组织机构,那么你需要接管OnCompare事件,在事件中对传入的Node1和Node2进行比较,然后指定Compare的返回值,-1代表Node1在Node2之前,0代表顺序相等,1代表Node2在Node1之前。
回复 支持 反对

使用道具 举报

发表于 2007-6-12 13:32:11 | 显示全部楼层
系统暂时是提供上移和下移这样的方式,你可以参见“业务模型\系统空间\系统功能\组织机构\组织结构设计基类\组织机构设计器窗体基类”这个窗体中的actUpNodeExecute过程,自己实现一个移动组织机构对象的方法。
procedure TBaseOrgDsgnForm.actUpNodeExecute(Sender: TObject);
begin
  if IsBizTreeView then
    OrgTreeView.MoveUpNode(OrgTreeView.Selected, iMoveStep)
  else if IsBizChart then
    OrgChart.MoveUpNode(OrgChart.Selected, iMoveStep);
end;

使用OrgTreeView.MoveUpNode(OrgTreeView.Selected, iMoveStep)
OrgTreeView.Selected:表示TreeView被选择的节点对象;
iMoveStep:表示移动的顺序的数量。
回复 支持 反对

使用道具 举报

发表于 2007-6-12 15:14:34 | 显示全部楼层
楼主还有问题吗?
回复 支持 反对

使用道具 举报

发表于 2007-6-12 15:21:34 | 显示全部楼层
这是个缺陷,已经提交~!
谢谢楼主。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-12 16:35:15 | 显示全部楼层
还有个问题

我的组织机构设计器是从 系统空间/系统功能/组织机构/组织机构设计器  继承来的,和组织机构设计器基类有很大不同,上移 代码中判断显示类型的时候(从父类仿照)
if OrgViewStyle = TOrgViewStyle.ovsTreeView then
会报TOrgViewStyle没有定义

在父类的定义如图

在type和private中间定义的子类不能直接使用吗?这里默认的权限是什么,是protected吗

如果在我的组织机构设计器重新定义,会报类型不匹配

1.jpg

22.15 KB, 下载次数: 57

回复 支持 反对

使用道具 举报

发表于 2007-6-12 17:49:27 | 显示全部楼层
是不是没有引用Business.Model.Org这个单元?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-13 09:46:44 | 显示全部楼层
不是,TOrgViewStyle是在-系统空间/系统功能/组织机构/组织机构设计器 -里面定义的,不是在Business.Model.Org里面定义的,
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 14:43 , Processed in 0.044039 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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