2

我正在尝试在 XML 中为 User 类型的字段创建字段定义,并且需要将其默认值设置为当前登录的用户。我该怎么做?

提前非常感谢。

4

4 回答 4

2

这是我最近的一次:

<Field ID="{99ced9dc-5715-47a7-9ede-1733f027eeb4}" 
    Name="MyField" 
    DisplayName="My Field" 
    Type="User" 
    List="UserInfo" 
    UserSelectionMode="PeopleOnly" 
    Required="TRUE">
    <DefaultFormula>=";#"&amp;Me</DefaultFormula>
</Field>

它不会爆炸,但也没有给出预期的结果。问题是它Me会给出用户的名字,但是由于User FieldLookup Field的一种特殊类型,所以这个名字被忽略了。所需要的只是 ID,但我找不到任何能给我带来这种价值的东西。

以下是一些可能的解决方法:

于 2012-04-27T18:04:56.280 回答
1

I do not think so there is any constant for the current logged in user similar to [today] constant for DateTime type. So you probably have to create your own field inherited from SPFieldUser and parse the default value constant introduced by you, e.g. [current]. Then your field xml definition can look like

<Field Type="MyCurrentUser" Name="MyCurrentUser" ID="{...}">
    <Default>[current]</Default>
</Field>
于 2012-04-27T06:12:40.307 回答
0

这不是 XML,但您可以创建一个在创建项目时运行的工作流。它将检查该字段是否为空,如果是,则将当前用户添加为值。我已经做到了,并且有效。

于 2015-11-26T17:14:29.620 回答
-3

我编写了一个插件(SharePoint Default Value Add-On),它将“默认值”部分注入“创建列”对话框。

将“当前用户”(正在添加项目的用户)设置为默认值。

在此处输入图像描述

于 2013-09-21T12:56:23.247 回答