3

カスタムリストを作成しました。これは、実際には欠席リクエストワークフローのフォーム入力です。それを公開する前に、私は欠陥を見つけました。最初のテキストボックスは個人またはグループのテキストボックスです。これはActiveDirectoryのユーザー名を取得するのに役立ちますが、欠点は、必要なユーザー名を入力できることです。例:

「ユーザーXはログオンしていますが、ユーザーYと入力してEnterキーを押すと、ユーザー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

作成者を受け取り、そのフィールドに貼り付ける SharePoint Designer WF を試してください。

または、jQuery を使用して列を非表示にし、フィールドのデフォルト値 [ME] を使用してデータを入力します。[ME] は、現在ログインしているユーザーをテキスト ボックスに入力します。

編集:ワークフローで作成者を取得するだけで、このすべてを処理できます。テキストボックスに値をキャプチャする必要さえありません。SharePoint は、アイテムの作成者を既に認識しています。これにより、実際にはより複雑なフォームが得られます。

于 2010-07-03T17:51:38.007 に答える