3000以后的版本需要修改的一下代码展开人员速度才会快一些:
业务模型\系统空间\系统功能\组织机构\组织机构设计器\主窗体:
procedure TMAINFORM.ShowPersons;
var
lNode: TBizNode;
lChildren, lKinds: TStrings;
I: Integer;
lAllow: Boolean;
begin
if CurrentViewTree <> TCurrentViewTree.cvtPerson then
Exit;
// olvPerson.Clear;
if not FOnOperating then
if Assigned(CurrentBizNode) and FDeptManager.IsCanOperate(CurrentBizNode.BizURL.URL) then
begin
lNode := BizTree.BizTreeStructure.FindNodeByBizURL(EnsureFolder);
lChildren := TStringList.Create;
lKinds := TStringList.create;
try
lKinds.Add('.PSN');
BizTree.BizTreeStructure.GetChildrenByKinds(lNode.GUID, lChildren, False, lKinds);
if Assigned(olvPerson.OnInsert) then
begin
for I := lChildren.Count - 1 downto 0 do
begin
lAllow := True;
olvPerson.OnInsert(olvPerson, TBizNode(lChildren.Objects[I]), lAllow);
if not lAllow then
lChildren.Delete(I);
end;
end;
olvPerson.Nodes := lChildren;
finally
lKinds.Free;
lChildren.Free;
end;
// olvPerson.RootNode := lBizNode;//BizTree.BizTreeStructure.FindNodeByFullFileName(EnsureFolder.FileName);
//
if olvPerson.Items.Count = 0 then
olvPerson.Reload;
end
else
olvPerson.Clear;
end; |