做了一个人员信息的选择窗体,想在选择的同时可以在相应的字段将人员的姓名列出来,但现在只能取到ID,如何能取到姓名呢?
procedure TGCLLFKXX.FIELD_GCLLD_FFDWButtonClick(Sender: TObject);
var
lBrowseDialog:TBizBrowseDialog;
IntI:Integer;
lBizUrl:TBizUrl;
lOrgUnit:TOrgUnit;
lPersonIDs: String;
begin
lPersonIDs := '';
lBrowseDialog := TBizBrowseDialog.Create(nil);
lBizUrl := TBizUrl.Create;
try
lBrowseDialog.Title := '选择人员';
lBrowseDialog.PromptText := '可选的人员信息:';
lBrowseDialog.ShowOptions := [TBizObjectKind.boOrgRoot,TBizObjectKind.boOrgan,
TBizObjectKind.boOrgServer,TBizObjectKind.boDept,TBizObjectKind.boPositionMember,TBizObjectKind.boPersonMember];
lBrowseDialog.ShowCheck := True;
lBrowseDialog.CheckOptions := [TBizObjectKind.boPersonMember];
lBrowseDialog.MustSelectedNode := [TBizObjectKind.boPersonMember];
if lBrowseDialog.Execute then
begin
for IntI := 0 to lBrowseDialog.Files.Count - 1 do
begin
lPersonIDs := lPersonIDs + '''' +
FileSys.FileUtils.GetFileNameNoExt(lBrowseDialog.Files[IntI])+',';
lBizUrl.URL := lBrowseDialog.Files[IntI];
lOrgUnit := Org.OrgSys.OrgSystem.GetUnit(lBizUrl);
Dialogs.ShowMessage(lOrgUnit.ID);//ID
Dialogs.ShowMessage(lOrgUnit.DisplayName );//DisplayName
if lPersonIDs.Length > 1 then
begin
lPersonIDs := lPersonIDs.SubString(0,lPersonIDs.Length-1);
if not (DataSetGCLLD.State in
[TDataSetState.dsEdit,TDataSetState.dsInsert]) then
DataSetGCLLD.Edit;
DataSetGCLLD.FieldByName('FFDW').AsString := lPersonIDs;
end;
end;
end;
finally
lBizUrl.Free;
lBrowseDialog.Free;
end;
end; |