组织机构设计器窗体基类 代码分析
//获得根结点的“文件名称”
procedure TBaseOrgDsgnForm.GetRootNodeFileNames(AFileNames: TStrings);
//SMP ADD 2005-7-8 For Clear
var
lOrgRootFileName: string;
begin
//FileSys.cOrgFilePrefix 通过文件系统类FileSys获得组织文件前缀Org:(关于各种文件系统前缀,可参照说明手册P39)
//JSConst.cOrgRoot通过JSConst全局常量类获得组织结构根\Root
lOrgRootFileName := FileSys.cOrgFilePrefix + JSConst.cOrgRoot;//Org:\Root
AFileNames.Add(lOrgRootFileName);
//SMP ADD 2005-7-8 For Clear
//nothing to do
end;
选自X3手册P39
X3文件系统介绍
中文名称 |
E文名称 |
协议名(前缀) |
存储介质 |
存取内容 |
文件示例 |
业务文件系统 |
BizFileSystem |
Biz: |
数据库 |
数据表、业务信息、业务功能、业务流程等模型资源 |
Biz:\System\System.Database\TConnection.Table |
组织文件系统 |
OrgFileSystem |
Org: |
数据库 |
机构、部门、岗位、和人员等模型资源 |
|
本地文件系统 |
OSFileSystem |
File: |
本地计算机磁盘和光盘 |
本地操作系统文件 |
|
临时文件系统 |
TempFileSystem |
Temp: |
内存 |
内存中的临时文件 |
|
用户文件系统 |
UserFileSystem |
User: |
数据库 |
业务运行平台中的用户文件 |
try
GetRootNodeFileNames(lFileNames);//获得组织文件系统根文件名称
for I := 0 to lFileNames.Count - 1 do
begin
//首选通过类工厂BizTree的工厂访求BizTreeStructure得到一个TBizTree对象,再通过对象方法
// FindNodeByFullFileName查找符合组织文件系统要文件名称的结点
lBizNode := BizTree.BizTreeStructure.FindNodeByFullFileName(lFileNames[I]);
if Assigned(lBizNode) then
lRootNodes.AddObject(lBizNode.GUID, lBizNode);
end;
if lRootNodes.Count > 0 then
begin
OrgChart.RootNodes := lRootNodes;//设置一下根结点
OrgTreeView.StartWithNodes := lRootNodes;
OrgComboBox.BizTreeView.StartWithNodes := lRootNodes;
BrowseDialog.StartWithNodes := lRootNodes;
end;
finally
lRootNodes.Free;
lFileNames.Free;
end;