Visualforce页面中日期和ID值的呈现不一致

时间:2013-06-26 15:56:00

标签: salesforce apex-code visualforce force.com

我无法理解为什么VF页面上显示的数据不一致。我在页面块表中显示Id和Date。我使用apex:column标签来显示数据。当我在value属性中声明没有任何空格的数据时,我得到Id的长度为15个字符,但是当我在值attirbute中包含一个空格时,会显示18个字符ID。我无法理解为什么会这样? enter image description here

<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 个答案:

答案 0 :(得分:1)

当您仅拉动列而没有任何空格时,Visualforce将使用该类型的开箱即用界面显示该字段。根据{{​​3}}:

  

Salesforce用户界面中的ID字段包含15个字符,base-62,区分大小写的字符串

将字符串附加到ID字段时,您将ID的值转换为字符串。由于页面仅对值感兴趣,如SOQL查询或Apex字符串方法,因此返回“原始”值。

  

所有API调用都会返回一个18位,大小写安全的ID版本