Компонент VisualForce выполняет итерацию по одному списку. Тип списка, например, List<Lead>
, определяет, какие данные могут быть визуализированы компонентом VF.
Чтобы отобразить списки разных типов, вы можете использовать отдельный компонент VF для каждого типа, например ::100100
<apex:pageBlockTable value="{!contacts}" var="contact">
...
</apex:pageBlockTable>
<apex:pageBlockTable value="{!cases}" var="case">
...
</apex:pageBlockTable>
Или вы можете создать новый тип, который содержит экземпляры разных типов. Вот пример контроллера:
public class MyController {
public List<ContactAndCase> ContactsAndCases { get; set; }
public MyController() {
ContactsAndCases = new List<ContactAndCase>();
// populate ContactsAndCases list
}
public class ContactAndCase {
public Contact TheContact { get; set; }
public Case TheCase { get; set; }
}
}
Затем вы можете перебрать List<ContactAndCase>
:
<apex:pageBlockTable value="{!ContactsAndCases}" var="item">
<apex:column value="{!item.TheContact.LastName}" />
<apex:column value="{!item.TheCase.CaseNumber}" />
</apex:pageBlockTable>