起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: cyw615

取OrgComboBox控件默认单位ID出错!急急**

[复制链接]
 楼主| 发表于 2007-3-29 14:02:50 | 显示全部楼层
我没有修改过平台自带空间下的资源!我先试试例子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-30 09:11:32 | 显示全部楼层
我重新建立了一个服务器,初始化了一个新数据库,我也导入你的例子试过,客户端运行还是有问题!
回复 支持 反对

使用道具 举报

发表于 2007-3-30 10:35:35 | 显示全部楼层
你选择OrgComboBox1的节点了吗?需要选择才可以,

另外,9楼的错误明明就是设计环节下出的错哦,caption上是Studio,如果是运行环境,那么就是Business
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-30 11:56:04 | 显示全部楼层
我没有选,我在窗体打开时,就用代码默认选中了根节点。
可是我在以前X3平台2423版本上是正常的呀!

procedure TXMSSDJCXWIN.RestrictCurrentOrgin(AOrginUrl:string);
var
  lBizNode:TBizNode;
  lBizURL:TBizURL;
begin
  OrgComboBox1.BizTreeView.StartWithNodes.Clear;   //清空根节点

  lBizURL := TBizURL.Create;
  try
    lBizURL.URL := AOrginUrl;  // 传机构节点的 URL
    lBizNode := BizTree.BizTreeStructure.FindNodeByBizURL(lBizURL); //找到用于表现用的节点
    if lBizNode <> nil then
      OrgComboBox1.BizTreeView.StartWithNodes.AddObject(lBizNode.GUID, lBizNode); //添加根节点
      OrgComboBox1.BizTreeView.ShowOptions := OrgComboBox1.BizTreeView.ShowOptions - [TBizObjectKind.boDept];
      OrgComboBox1.BizTreeView.ReloadTree;
  finally
    lBizURL.Free;
  end;
  OrgComboBox1.BizTreeView.SelectedNode := lBizNode; //选中默认单位
end;

procedure TXMSSDJCXWIN.BizFormCreate(Sender: TObject);
var
  lContextCurrent: TContextCurrent;
  lOrgUnit: TOrgUnit;
  lBizURL: TBizURL;
  OrganIf : string;
begin
  // 取当前登陆者机构
  lContextCurrent := Business.Model.TContextCurrent.Create(Self.Context);
  try
    cOrganID := lContextCurrent.Organ.ID;              //当前操作者单位ID
    cOrganName := lContextCurrent.Organ.DisplayName;   //当前操作者单位名称
    lOrgUnit := OrgSys.OrgSystem.GetUnit(cOrganID, '', '');
    lBizURL := lOrgUnit.BizURL;  // 取得机构的URL

    RestrictCurrentOrgin(lBizURL.FileName);
  finally
    lContextCurrent.Free;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-3-30 14:58:57 | 显示全部楼层
你先 设置断点跟踪一下,看看结果是否是你想要的,对象是否空了等等。这应该跟版本没有必然的联系。
回复 支持 反对

使用道具 举报

发表于 2007-4-6 15:41:17 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-7 08:30:40 | 显示全部楼层
好的!我先试试看
回复 支持 反对

使用道具 举报

发表于 2007-4-16 11:19:16 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

发表于 2007-4-19 09:47:29 | 显示全部楼层
我结贴了有问题请重新开帖子
回复 支持 反对

使用道具 举报

发表于 2007-4-19 11:24:12 | 显示全部楼层
cSelOrganID := OrgComboBox1.BizTreeView.SelectedNode.BizUrl.ID;
这句话是存在隐患的,如果OrgComboBox1.BizTreeView.SelectedNode为空就挂了,应该这样写:
var
  lFilterStr : string;
  lBizNode : TBizNode;
begin
  FIsFolder := false;
  FIsTable:= False;
  lBizNode := BizTreeView.SelectedNode;
  if lBizNode = nil then exit;
  if lBizNode.NodeKind=TBizObjectKind.boOrgan  then
  begin
    cSelOrganID := lBizNode.BizURL.ID;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-4 18:23 , Processed in 0.043785 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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