2013-06-26 6 views
1

VF 페이지에 표시되는 데이터가 왜 불일치하는지 이해할 수 없습니다. 페이지 블록 테이블에 ID와 날짜가 표시됩니다. apex : column 태그를 사용하여 데이터를 표시하고 있습니다. 공백없이 value 속성에 데이터를 선언 할 때 길이가 15자인 Id를 얻지 만 attirbute 값에 공백을 포함하면 18 자 ID가 표시됩니다. 왜 그런지 이해할 수 없습니까? 공백없이 enter image description hereVisualforce 페이지에서 날짜 및 ID 값의 일관성없는 렌더링

<apex:pageblock> 
<apex:pageblockTable value="{!acc}" var="a"> 
    <apex:column value="{!a.Id}" headerValue="Id without space(15 char)"/> 
    <apex:column value=" {!a.Id}" headerValue="Id with space(18 char)"/> 
    <apex:column value="{!a.CreatedDate}" headerValue="Date defined in the Value attributes"/> 
    <apex:column headerValue="Date not declared in the Value Attribute" >{!a.CreatedDate}</apex:column> 
</apex:pageblockTable> 
</apex:pageblock> 

답변

1

에만 열을 끌어 은없이 VisualForce 해당 유형에 대한 아웃 - 오브 - 박스 인터페이스를 사용하여 필드를 표시합니다. API docs 당 : 당신이 ID 필드에 문자열을 추가하면 세일즈 포스 사용자 인터페이스에서

ID 필드는 15 문자,베이스 (62), 대소 문자를 구분 문자열

를 포함, 당신은 변환하는 ID의 값을 문자열로 변환합니다. 페이지가 SOQL 쿼리 또는 Apex 문자열 메서드와 같은 값에만 관심이 있으므로 "원시"값이 반환됩니다.

18 자리의 ID의 경우 안전 버전은 모든 API에 의해 반환은

호출