起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 798|回复: 0

如何使用代码定位到组织机构树的某个节点

[复制链接]
发表于 2004-12-10 14:11:32 | 显示全部楼层 |阅读模式
有时需要在显示Org组件的时候将直接单位到某个组织单元(也就是Org组件的节点),可以使用遍历整个组件节点的方式来实现,

下面以OrgTreeView组件为例实现此需求:

procedure TMainForm.btnSelectOrgUnitClick(Sender: TObject);
var
lNodes: TTreeNodes;
  I: integer;
  lBizURL: TBizURL;
  lOrgUnit: Org.TOrgUnit;
  lFindID: string;
begin
  { 要定位的节点ID }
  lFindID := 'ZXX';
  lBizURL := TBizURL.Create;
  { 显示整棵树,否则不显示的节点是找不到的 }
  OrgTreeView.FullExpand;
  try
    {取出所有节点 }
    lNodes := OrgTreeView.Items;
    for I := 0 to lNodes.Count - 1 do
    begin
      { 取某节点的机构ID }
      lBizURL.URL := Org.TOrgNode(lNodes.item.Data).ObjectID;
      lOrgUnit := Org.OrgSys.OrgSystem.GetUnit(lBizURL);
      if lOrgUnit.ID = lFindID then
      begin
        { 定位到找到的节点 }
        OrgTreeView.Select(lNodes.item, []);
        OrgTreeView.SetFocus;
      end;
    end;
  finally
    lBizURL.Free;
  end;
end;
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 23:42 , Processed in 0.034696 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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