2009-06-25 7 views
3

사용자 지정 목록을 만들었습니다. 실제로 부재 요청 워크 플로에 양식을 채 웁니다. 게시하기 전에 결함을 발견했습니다. 첫 번째 텍스트 상자는 사람 또는 그룹 텍스트 상자입니다. Active Directory 사용자 이름을 검색하는 데 도움이되지만 결함은 내가 원하는 사용자 이름을 입력 할 수 있다는 것입니다. 예 :입력란에 현재 사용자 이름이 sharepoint에 입력되어 있습니다.

"사용자 X는 로그온했지만 사용자 Y를 입력하고 사용자 Y의 부재를 요청할 수 있습니다. "

그래서 내가 원하는 것은 텍스트 상자를 숨기고 현재 로그온 한 사용자와 자동으로 채 웁니다.

나는 계산 된 텍스트 상자에 대한 수식을 찾고 있었지만 아무것도 찾지 못했습니다.

답변

2

도움이 되셨습니까?

SPUser user = SPContext.Current.Web.CurrentUser; 
+0

VisualStudio를 사용하지 않고도 할 수있는 방법이 있습니까? – hyeomans

5

미안 당신이 여기에서 할 wan't하지만 당신은 당신이 현재 사용자 채우기하려는 peoplepicker이있는 경우, 여기에 그 작업을 수행하는 방법을 무엇 exacly 확실하지. 그런 다음 사용자가 값을 변경할 수 없도록 컨트롤을 비활성화해야합니다.

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

PeopleEditor.Entities.Add(entity); 
PeopleEditor.UpdateEntities(PeopleEditor.Entities); 
+0

정확히 내가하려고하는 것이지만, 나의 무지를 유감스럽게 생각하지만 SP에 익숙하지 않은, 당신이 준 코드를 어디에 넣어야합니까? – hyeomans

+0

맞춤 목록이 있다고하셨습니다. 그런 다음이 코드를 사용자 필드를 렌더링하는 "사용자 정의"필드 컨트롤에 넣는 것이 가장 좋습니다. 이 작업을 수행하는 또 다른 방법이있을 수 있지만 그것이 내가했을 것입니다. 그래서 여기에 사용자 정의 필드 제어에 대한 게시물이 많이 있습니다. 여기 한 가지 예가 있습니다 : http://stackoverflow.com/questions/997448/how-to-manage-column-based-access-control-in-sharepoint-lists/997773 # 997773 –

+0

그가 "Custom List"라고 말하면 나는 그가 C# 코드를 작성했다는 것을 의미하지 않는다고 생각합니다. 만들기를 클릭하면 "사용자 지정 목록"이라고합니다. –

2

현재 로그인 한 사용자를 원하면 목록의 작성자 필드를 사용하십시오. 이 열은 항목을 만든 사용자가 자동으로 채워집니다.

0

만든 사람을 사용하는 SharePoint Designer WF를 사용해보고 해당 필드에 고정하십시오.

또는 jQuery를 사용하여 열을 숨기고 필드의 기본값을 [ME]로 채우면됩니다. [ME]는 현재 로그인 한 사용자로 텍스트 상자를 채 웁니다.

편집 :이 모든 작업은 작업 흐름의 작성자를 잡아서 처리 할 수 ​​있습니다 텍스트 상자에 값을 캡처 할 필요조차 없습니다. SharePoint는 이미 항목을 만든 사람을 알고 있습니다. 실제로는 덜 복잡한 형식이됩니다.

관련 문제