我写了一个基本控制器,我想用它来管理服务器控制器上的数据分页。salesforce从sObject转换为自定义对象
我有像这样
public abstract List<sObject> getPagedData();
我的控制器,扩展主控制器实现自己的getPagedData的版本然后每一个抽象方法。但返回一个特定的客户对象如Foo__c
我可以从List<sObject>
在visualforce页投射到List<Foo__c>
我的页面看起来像这样
<apex:dataTable value="{!PagedData}" var="c" >
<apex:column >
<apex:facet name="header">Foo</apex:facet>
<apex:outputText value="{!c.Bar__r.SomeValue__c]}" />
</apex:column>
但我得到一个错误的sObject没有知道约Bar__r
我已经尝试做与数据表值,并在outputText内cast,但它似乎并不工作
我可以使用动态绑定http://www.salesforce.com/us/developer/docs/pages/Content/pages_dynamic_vf.htm但后来我怎么做这样的事情
<apex:outputText value="{0, number, $###,###}">
<apex:param value="{!c.Amount__c}" />
</apex:outputText>
<apex:outputText value="{0,date,dd/MM/yyyy}">
<apex:param value="{!c.Date_Of_Birth__c}" />
</apex:outputText>
我得到错误的话称,预计DateTime对象等
谢谢我已经在使用StandardSetController并执行如您所示的方法。它似乎有点像我的黑客肮脏,并认为会有更干净的方式来做到这一点 – Daveo 2011-06-04 02:45:08
我与你同在。我希望StandardSetController被参数化,以便它的getRecord()返回正确的类型。唉,这不是选择的模式。 – 2011-06-06 01:22:28
我同意拉尔夫,没有办法根据具体的类型在VF中播放数据。 – 2011-06-06 09:21:08