안녕하세요. 김도명입니다.

이번 포스팅에서는 SharePoint Designer 2010으로 리스트의 Custom Form을 생성했을때 날짜 형식의 필드(Date and Time)에서 발생할 수 있는 표시 문제에 관해 간단하게 다뤄보도록 하겠습니다.

우선, 관련 내용을 살펴보기 전에 일반적으로 날짜 필드가 표시되는 모습은 아래와 같습니다.

*목록


*상세 페이지

 

날짜 형식의 필드는 아래와 같이 해당 필드의 설정 페이지(Change Column)를 통해 필드의 속성을 변경할 수가 있습니다.
(날짜 format을 변경하거나, 날짜만 표시할 것인지 시간과 함께 표시할 것인지 등)


이제 SharePoint Designer 2010을 사용하여 리스트에 Custom Form을 생성해 보도록 하겠습니다.
'표시'를 위한 Form을 추가하고, 리스트의 기본값으로 선태합니다.

 

이렇게 Designer를 통하여 Form을 리스트에 추가한 경우 해당 커스텀 Form은 생성당시의 HTML을 그대로 갖고 있게 됩니다.
생성 이후 리스트에 Field를 추가하거나, 삭제하여도 동적으로 Form에 적용되지 않습니다.

이것은 기본 Form이 페이지에 웹파트가 추가된 형태인데 반해, 커스텀 Form은 생성 당시의 HTML을 정적으로 갖고 있기 때문입니다.

아래와 같이 입력 Form에서 날짜를 선택하여 값을 넣어도 커스텀 Form에서는 입력한 값과는 다른 모습으로 보여지는 경우가 발생합니다.
예 : 2012-04-02T15:00:00Z

 

Designer을 통하여 해당 Form을 확인해 보면 아래와 같이 해당 필드('DateTime' 필드)의 Value가 Form에 들어있는 것을 알 수 있습니다.

 

단순히 필드의 Value가 표시되기 때문에 위와 같이 전체값이 모두 표시되는 것입니다.

아래와 같이 XSL 값을 수정하면 원하는 형태로 날짜 필드의 값을 표시할 수 있습니다.

msxsl:format-date(@필드명, 'dd/MM/yyyy h:mm')

 

*변경후에 Designer를 통하여 살펴본 커스텀 Form의 모습입니다.

 

감사합니다.

Posted by kdmsong

BLOG main image
http://SharePointSchool.net by kdmsong

분류 전체보기 (262)
SharePoint 2013 (1)
SharePoint 2010 (224)
MOSS 2007 (3)
SharePoint 세미나 (9)
Windows Azure (7)
IIS 6.0 ~ 8.0 (8)
개발자 기본 소양 (10)
Etc. (0)
Total : 422,212
Today : 0 Yesterday : 42
Statistics Graph

free counters