如何显示user.fullname
作者 ym_terry   查看 585   发表时间 2008/8/4 11:18  【论坛浏览】
在点击owner的时候,如何显示用户的fullname呢

序号 评论者 共有评论 5   【论坛浏览】  【发表评论】 评论时间
1 tinali Owner是引用类型的,引用的是无状态记录类型users,而users的主键是login_name,所以owner列表中显示的是所有用户的登录名。

要想显示users的fullname属性,需要另外定义一个字段,如用户全名,类型为short_string,然后在此字段的choices list中写脚本,读取用户的fullname,然后添加到列表中。
2008/8/4 11:39
2 ym_terry 是否可以显示用户全名
请问,我选择的是Reference_List类型的字段引用的users,是否能在选择的时候显示fullname呢
2008/8/4 11:42
3 tinali reference和reference_list的区别是:前者是单选,后者是多选。

不能用来显示fullname,要显示fullname,需要定制。
2008/8/4 11:50
4 ym_terry 哦,就是说用reference_list加上脚本后,也可以显示fullname。目前我用的是VB,请问实现此功能,读取fullname的命令是什么呢,读取后需要更新字段的命令吗。还是光读取,这一条命令就够了,感谢厦花。 2008/8/4 12:22
5 yunshan reference和reference_list类型的加脚本都是不能显示fullname的,上面的帖子说的很清楚,以前也有不少人问过此类问题。
至于脚本的书写,涉及到API的使用,建议好好的去看看管理员手册和API参考,里面都有很多类似的代码,稍作修改就可以使用。

下面是IBM Developerworks上的一段示例脚本,结合上面几个回帖就可以搞定你的需求了:
ref:http://www.ibm.com/developerworks/rational/library/3890.html
Populate a choicelist with full names of active users
DIM RegularSession
DIM queryDef
DIM ResultSet
DIM Is_Active_Value
DIM colValue

set RegularSession = GetSession
set queryDef = RegularSession.BuildQuery("users")
Is_Active_Value = 1

queryDef.BuildField("fullname")

set queryFilterNode = queryDef.BuildFilterOperator(AD_BOOL_OP_AND)
queryFilterNode.BuildFilter "is_active", AD_COMP_OP_EQ, Is_Active_Value

set ResultSet = RegularSession.BuildResultSet(queryDef)
ResultSet.Execute
status = ResultSet.MoveNext

while status = AD_SUCCESS
RegularSession.OutputDebugString ResultSet.GetNumberofColumns & vbCrLf
For n = 1 to ResultSet.GetNumberofColumns
colValue = ResultSet.GetColumnValue (n)
choices.AddItem(colValue)
RegularSession.OutputDebugString colValue & vbCrLf
Next
status = ResultSet.MoveNext
wend
2008/8/5 11:54
 共有评论数 5  每页显示 10
页码 1/1  |<  <<   1   >>  >|