Я написал базовый контроллер, который хочу использовать для управления разбивкой данных на страницы на контроллерах серверов.
У меня такой абстрактный метод
public abstract List<sObject> getPagedData();
Затем каждый из моих контроллеров, расширяющих базовый контроллер, реализует свою собственную версию getPagedData. Но верните конкретный объект клиента, например Foo__c
Могу ли я транслировать с List<sObject>
на List<Foo__c>
на странице visualforce
Моя страница выглядит так
<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
Я пытался выполнить Cast со значением dataTable и внутри outputText, но похоже, что это не работает.
Я могу использовать динамические привязки 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 и т. Д.