我正在尝试在 XML 中为 User 类型的字段创建字段定义,并且需要将其默认值设置为当前登录的用户。我该怎么做?
提前非常感谢。
这是我最近的一次:
<Field ID="{99ced9dc-5715-47a7-9ede-1733f027eeb4}"
Name="MyField"
DisplayName="My Field"
Type="User"
List="UserInfo"
UserSelectionMode="PeopleOnly"
Required="TRUE">
<DefaultFormula>=";#"&Me</DefaultFormula>
</Field>
它不会爆炸,但也没有给出预期的结果。问题是它Me
会给出用户的名字,但是由于User Field是Lookup Field的一种特殊类型,所以这个名字被忽略了。所需要的只是 ID,但我找不到任何能给我带来这种价值的东西。
以下是一些可能的解决方法:
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>
这不是 XML,但您可以创建一个在创建项目时运行的工作流。它将检查该字段是否为空,如果是,则将当前用户添加为值。我已经做到了,并且有效。
我编写了一个插件(SharePoint Default Value Add-On),它将“默认值”部分注入“创建列”对话框。
将“当前用户”(正在添加项目的用户)设置为默认值。