Visualforce – это мощная платформа Salesforce, позволяющая разработчикам создавать собственные пользовательские интерфейсы. Одним из наиболее часто используемых тегов в Visualforce является тег <apex:repeat>
. Этот тег позволяет разработчикам перебирать набор данных и динамически отображать их на странице. В этой статье мы рассмотрим семь различных методов использования тега <apex:repeat>
в Visualforce, а также приведем примеры кода для каждого метода.
Метод 1: базовая итерация
Основное использование <apex:repeat>
предполагает перебор списка или набора данных. Вот пример:
<apex:repeat value="{!myList}" var="item">
<!-- Display item properties -->
<p>{!item.Name}</p>
</apex:repeat>
Метод 2: вложенная итерация
Вы также можете вложить <apex:repeat>
<apex:repeat value="{!accounts}" var="account">
<p>{!account.Name}</p>
<ul>
<apex:repeat value="{!account.Contacts}" var="contact">
<li>{!contact.Name}</li>
</apex:repeat>
</ul>
</apex:repeat>
Метод 3: перебор карты
Если у вас есть карта данных, вы можете использовать тег <apex:repeat>
вместе с тегом <apex:map>
для перебора ключей. пары значений:
<apex:map value="{!myMap}" var="key" keyVar="mapKey">
<p>{!mapKey} - {!key}</p>
</apex:map>
Метод 4: итерация с индексом
Иногда вам может потребоваться доступ к индексу каждого элемента в итерации. Это можно сделать с помощью атрибута indexVar
:
<apex:repeat value="{!myList}" var="item" indexVar="index">
<p>Index: {!index}, Value: {!item.Name}</p>
</apex:repeat>
Метод 5: Условный рендеринг
Вы можете условно визуализировать элементы с помощью тега <apex:repeat>
, используя атрибут rendered
:
<apex:repeat value="{!myList}" var="item">
<p>{!item.Name}</p>
<apex:outputText rendered="{!item.IsActive}">Active</apex:outputText>
<apex:outputText rendered="{!NOT(item.IsActive)}">Inactive</apex:outputText>
</apex:repeat>
Метод 6: итерация с разбиением на страницы
Чтобы отобразить большую коллекцию данных с разбиением на страницы, вы можете использовать тег <apex:pageBlockTable>
вместе с тегом <apex:repeat>
:
<apex:pageBlockTable value="{!myList}" var="item" rows="10">
<!-- Display item properties -->
<apex:column>{!item.Name}</apex:column>
</apex:pageBlockTable>
Метод 7: итерация с пользовательскими компонентами
Вы также можете создавать собственные компоненты и использовать их в теге <apex:repeat>
:
<!-- Custom Component -->
<apex:component>
<apex:attribute name="item" type="MyCustomObject__c" description="Custom Object" required="true"/>
<p>{!item.Name}</p>
</apex:component>
<!-- Usage -->
<apex:repeat value="{!myList}" var="item">
<c:CustomComponent item="{!item}"/>
</apex:repeat>
Тег <apex:repeat>
в Visualforce предоставляет мощный механизм для перебора данных и их динамического отображения на странице. В этой статье мы рассмотрели семь различных методов использования этого тега: от базовой итерации до вложенной итерации, условного рендеринга и нумерации страниц. Используя тег <apex:repeat>
, вы можете создавать динамичные и гибкие пользовательские интерфейсы в Visualforce.
Следуя этим методам, вы сможете улучшить свои навыки разработки Visualforce и создавать более эффективные и интерактивные приложения в Salesforce.