0

我在用

string field = list.Fields.Add(StaticName, SPFieldType.User, true); SPFieldUser user = new SPFieldUser(list.Fields, field); user.AllowMultipleValues = allowMultiple; user.Required = Required; user.SelectionMode = mode; user.LookupField = "Name"; user.Update();

创建 SPUser 类型字段的代码示例。它创建的字段非常好,但在默认显示值中,它给出了员工的“帐户”值而不是“姓名”或“姓名(有存在)。我怎样才能务实地将此显示值更改为“姓名”。

我要这个 而不是这个字段

谢谢你。

4

1 回答 1

0

您可以使用两种方式实现此目的:

在创建之后再次获取该字段并将其(阴天)用作 SPFieldLookup 字段,因为 SPUserField 是 SPFieldLookup 的子字段:

SPFieldLookup userfield = (SPFieldLookup)list.Fields["fieldname"];
Userfield.LookupField = "ImnName"; 
Userfield.Update();

或者您可以使用 AddFieldAsXml 方法创建字段,如下所示:

list.Fields.AddFieldAsXml(@"<Field Name='TypeUser' ID='{99bd898d-c181-4ca9-8397-c9fc032fcdf9}' DisplayName='TypeUser' Type='User' ShowField='ImnName' ></Field>");
list.Update();

您还应该查看 Presence 属性并将其设置为 true。

于 2015-04-01T20:56:43.447 回答