起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 240|回复: 10

【结】请教一个问题,关于OrgChart的**

[复制链接]
发表于 2008-4-3 16:04:51 | 显示全部楼层 |阅读模式
请问如何能访问到OrgChart的每一个结点的ID
strl:='cyj';
      lBizUrl:=TBizUrl.Create;
      lBizUrl.URL:='Org:\ROOT\CE.ogn';
      lBizNodes:=TStringlist.Create;
      lBizNode:=OrgChart.BizTree.FindNodeByBizURL(lBizUrl);
      if assigned(lBizNode) then
         lBizNodes.AddObject(lBizNode.GUID,lBizNode);
      OrgChart.ShowOptions := OrgChart.ShowOptions + [TBizObjectKind.boOrgRoot] + [TBizObjectKind.boPositionRoot] + [TBizObjectKind.boPersonRoot];
      OrgChart.RootNodes:=lBizNodes;
      OrgChart.FullExpand;
      dialogs.ShowMessage(sysutils.IntToStr(OrgChart.Count));
for i:=  OrgChart.Count - 1 downto 0 do
             begin
                 if sysutils.SameText(strl,TBizNode(OrgChart.Items).ID) then
                    dialogs.ShowMessage('找到了')
              end;

希望能告之.
我查看了用户手册第十章,还是没有解决.
谢谢!
回复

使用道具 举报

 楼主| 发表于 2008-4-3 17:01:05 | 显示全部楼层

请帮忙看一下上面一楼的代码吧

请帮忙看一下上面一楼的代码吧!
帮忙修改一下看,怎么能判断当前组织机构下是否存在ID是"cyj"的节点啊 。
谢谢!
回复 支持 反对

使用道具 举报

发表于 2008-4-5 10:57:59 | 显示全部楼层
没有看太明白楼主想实现啥?
你是想看看在'Org:\ROOT\CE.ogn'这个机构下是否有ID为"cyj"这个的机构或者部门或者岗位成员或者人员成员?
如果不是请描述一下你的需求吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 08:52:51 | 显示全部楼层

正是您所说的那种情况

正是您所说的那种情况。我就是想看看在'Org:\ROOT\CE.ogn'这个机构下是否有ID为"cyj"这个的机构或者部门或者岗位成员或者人员成员。
回复 支持 反对

使用道具 举报

发表于 2008-4-7 10:57:02 | 显示全部楼层
我不清楚你接下来要做啥,如果仅仅看看是否有ID为"cyj"这个的组织单元,那么没有必要这么麻烦,直接发一个SQL到“业务模型\系统空间\系统数据库\组织结构系统表”这张表中,看看是否有结果就这样可以了。
条件为:
路径(FPATH) like “ROOT\CE.ogn%”
主要文件名(FID)= 'CYJ'
这样就可可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 11:51:29 | 显示全部楼层

不能直接通过OrgChart的节点信息判断出来吗

不能直接通过OrgChart的节点信息判断出来是否ID市“cyj”的结点存在码?
我想在新建节点前先判断节点id是否重复啊。
回复 支持 反对

使用道具 举报

发表于 2008-4-7 12:27:55 | 显示全部楼层
那你这个“cyj”这个ID到底是啥呢?因为在机构下不会存在相同ID的部门,但可能存在相同ID的岗位成员或者人员成员哦。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 14:09:36 | 显示全部楼层

不管是机构,部门,岗位还是人员,只要有ID是"cyj"

不管是机构,部门,岗位还是人员.只要有ID是"cyj",就给出提示.
我知道不同类型之间可以有相同的ID.比如说岗位和人员都可以有ID是"CYJ"的成员.当然如果可以同时根据类型和ID去判断是否重复是最好的.如果不好实现的话就不管类型了(机构,部门,岗位还是人员)只要判断ID是否重复就行了.
谢谢.
回复 支持 反对

使用道具 举报

发表于 2008-4-7 14:30:00 | 显示全部楼层
要遍历,参考: http://bbs.justep.com/forum.php?mod=viewthread&tid=3485

我觉得遍历这个机构,如果组织单元很多肯定会影响性能的,方法一参考我5楼用SQL方法来做,通过“扩展名”这个字段就知道是啥类型了,
还有一个方法,就是参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=4584 这个来做,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 14:40:36 | 显示全部楼层

好的.谢谢 atiger

好的.谢谢 atiger .
我用第二种办法,好了.
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 16:14 , Processed in 0.043160 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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