起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1494|回复: 3

关于biztreeview控件

[复制链接]
发表于 2004-9-9 18:17:02 | 显示全部楼层 |阅读模式
BizTreeView(业务树形视图)组件是一个视图表现类的控件,它将业务模型中的内容按照树形列表关系分级展现出来,使用户能够清楚的看出业务模型中各个对象的层次关系。它的用途十分广泛,当想要将业务模型的内容展现出来让用户看时,都可以使用它。例如:Business Studio中的业务资源管理器左边使用的树形视图、运行平台上通用查询功能中左边使用的树形视图。
回复

使用道具 举报

 楼主| 发表于 2004-9-9 18:19:22 | 显示全部楼层
ShowOptions :显示选项,一个 TBizObjectKind 枚举类型的集合,可以指定要显示或者不显示特定对象
例如:BizTreeView.ShowOptions := BizTreeView.ShowOptions + [TBizObjectKind.boDatabase]
SelectedNodes:所选的节点列表,多选时有效
SelectedNode:所选的节点
StartWithNodes:指定从哪些节点开始显示树形视图,即以哪些节点作为树形视图的根节点
StartWithNodes(继承自TBaseTreeView)的用途是:指定从哪些节点开始显示树形视图,即以哪些节点作为树形视图的根节点,代码示例如下:
brdSelectStartWithNode: TBizBrowseDialog;
procedure TMainForm.btnAddStartWithNodesClick(Sender: TObject);
var
  I: Integer;
  lStartWithNodes: TStrings;
  lFileName: string;
  lBizNode: TBizNode;
begin
  brdSelectStartWithNode.PromptText := '选择对象作为根节点:';
  //brdSelectStartWithNode.ShowOptions := cAllBizObjectKinds;
  brdSelectStartWithNode.ShowCheck := True;

  if brdSelectStartWithNode.Execute then
  begin
    lStartWithNodes := TStringList.Create;
    try
      for I := 0 to brdSelectStartWithNode.Files.Count - 1 do
      begin
        lFileName := brdSelectStartWithNode.Files[I];
        lBizNode := BizTree.BizTreeStructure.FindNodeByFullFileName(lFileName);
        if lBizNode <> nil then
          lStartWithNodes.AddObject(lBizNode.GUID, lBizNode);
      end;

      BizTreeView.StartWithNodes := lStartWithNodes;
      ReloadBizTreeView;

      lsvStartWithNodes.Nodes := lStartWithNodes;
    finally
      lStartWithNodes.Free;
    end;
  end;
end;

procedure TMainForm.ReloadBizTreeView;
var
  lFileName: string;
begin
  lFileName := BizTreeView.FileName;
  BizTreeView.ReloadTree;
  BizTreeView.FileName := lFileName;
end;
回复 支持 反对

使用道具 举报

发表于 2004-12-27 13:58:12 | 显示全部楼层

如何获取BizTreeView控件,选择的某个节点下面所有子节点的URL

参考代码如下:
var
  I: Integer;
  lBizNode: TBizNode;
  lBizNodes: TStringList;
begin
  ...
  lBizNode := BizTreeView1.SelectedNode;
  
  BizTreeView1.BizTree.GetChildrenByFilter(lBizNode.GUID, lBizNodes, False, nil);

  for I := 0 to lBizNodes.Count - 1 do
  begin
    lBizNode := lBizNodes.Objects[I] as TBizNode;
    ListBox1.Items.Add(lBizNode.BizURL);
  end;
  ...
end;
回复 支持 反对

使用道具 举报

发表于 2006-5-26 11:58:11 | 显示全部楼层
如果要加载磁盘,那么需要加载:
[TBizObjectKind.boFileServer,TBizObjectKind.boFolder,TBizObjectKind.bofile];
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 18:50 , Processed in 0.039486 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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