3

我制作了一个自定义列表,它实际上是为缺勤请求工作流程填写的表格。在发布之前,我发现了一个缺陷。第一个文本框是个人或组文本框,这有助于检索 Active Directory 用户名,但缺陷是我可以输入任何我想要的用户名,例如:

“用户 X 已登录,但如果他键入用户 Y 并按回车,他可以请求用户 Y 缺席”

所以我想要的是,隐藏文本框并用当前登录的用户自动填充它。

我一直在寻找计算文本框的公式,但我没有找到任何东西。

4

4 回答 4

5

我不确定你不想在这里做什么,但如果你有一个要填充当前用户的人员选择器,这里是如何做到这一点的。然后,您必须禁用该控件,以使用户无法更改其中的值。

PickerEntity entity = new PickerEntity 
{ 
   Key = SPContext.Current.Web.CurrentUser.LoginName 
};

PeopleEditor.Entities.Add(entity);
PeopleEditor.UpdateEntities(PeopleEditor.Entities);
于 2009-06-25T19:06:35.580 回答
2

这有帮助吗?

SPUser user = SPContext.Current.Web.CurrentUser;
于 2009-06-25T19:01:03.313 回答
2

如果您想要当前登录的用户,只需使用列表中的“创建者”字段。此列会自动填充创建该项目的用户。

于 2009-06-25T19:56:20.907 回答
0

尝试使用 Created By 并将其粘贴在该字段中的 SharePoint Designer WF。

或者,使用 jQuery 隐藏列并使用字段的默认值作为 [ME] 来填充它。[ME] 用当前登录的用户填写文本框。

编辑:这整个事情可以通过抓住工作流程中的创建者来处理。您甚至不需要在文本框中捕获值。SharePoint 已经知道是谁创建了该项目。这实际上会产生一个不太复杂的表格。

于 2010-07-03T17:51:38.007 回答