|
展示控件为DataTreeList
数据集的FID字段用了OnButtonClick事件做如下操作。FID字段存储组织机构的FID。
第一次触发的时候好用,点确定(点取消没后没出现后面的错误)后。第二次触发该事件时报错(如图错误1)。
并且关闭该窗体后,出现图中错误2的现象。
不知道描述清楚了没。
何故,有解决方法没。
procedure THSDX.FIELD_HSDX_FIDButtonClick(Sender: TObject);
var
lBizurl:TBizUrl;
lOrgUnit:Org.TOrgUnit;
begin
bbdOrgDpt.ShowOptions := [TBizObjectKind.boOrgRoot,TBizObjectKind.boOrgan,
TBizObjectKind.boOrgServer,TBizObjectKind.boDept];
bbdOrgDpt.Title := '选择核算对象';
bbdOrgDpt.PromptText := '选择一个单位';
bbdOrgDpt.MustSelectedNode :=[TBizObjectKind.boOrgan,TBizObjectKind.boDept];
if DataSetHSDX.FieldByName('FID').AsString<>'' then
begin
try
lOrgUnit := Org.OrgSys.OrgSystem.FindUnit(DataSetHSDX.FieldByName('FID').AsString,'','');
bbdOrgDpt.InitialDir:=lOrgUnit.BizURL.FileName;
except
bbdOrgDpt.InitialDir:='';
end;
lOrgUnit.Free;
end
else
bbdOrgDpt.InitialDir:='';
if bbdOrgDpt.Execute then
begin
lBizUrl:=TBizUrl.Create;
lBizUrl.FileName:=bbdOrgDpt.FileName;
DataSetHSDX.Edit;
DataSetHSDX.FieldByName('FID').AsString:=lBizUrl.ID;
lBizUrl.Free;
end;
end;
|
|