7 способов использования тега в Visualforce — подробное руководство

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.