View

 

 

Custom Controller 만들고 사용하기

1. Custom Controller Apex Class 만들기

기본 sortOrder = LastName

sortOrder를 변경하면 결과 순서를 반영해 Contact를 검색하는 SOQL 쿼리에 사용됨

public class ContactsListWithController {
    private String sortOrder = 'LastName';
    public List<Contact> getContacts() {
        List<Contact> results = Database.query(
            'SELECT Id, FirstName, LastName, Title, Email ' +
            'FROM Contact ' +
            'ORDER BY ' + sortOrder + ' ASC ' +
            'LIMIT 10'
        );
        return results;
    }
    public void sortByLastName() {
        this.sortOrder = 'LastName';
    }
    public void sortByFirstName() {
        this.sortOrder = 'FirstName';
    }
}

 

2. Custom Controller 사용하는 Visualforce page 만들기

<apex:column>은 그 자체로 일반 텍스트 헤더가 있지만

<apex:facet>을 사용하면 열 헤더의 내용을 원하는 대로 설정 O,

올바른 action method 호출

 

헤더를 클릭하면 <apex:commandLink action>에 해당하는 메소드 실행됨

<apex:page controller="ContactsListWithController">
    <apex:form >
    	<apex:pageBlock title="Contacts List" id="contacts_list">
        	<apex:pageBlockTable value="{! contacts }" var="ct" >
            	<apex:column value="{! ct.FirstName }">
                    <apex:facet name="header">
                        <apex:commandLink action="{! sortByFirstName }"
                            reRender="contacts_list">First Name
                        </apex:commandLink>
                    </apex:facet>
                </apex:column>
                <apex:column value="{! ct.LastName }">
                    <apex:facet name="header">
                        <apex:commandLink action="{! sortByLastName }"
                            reRender="contacts_list">Last Name
                        </apex:commandLink>
                    </apex:facet>
                </apex:column>
                <apex:column value="{! ct.Title }" />
                <apex:column value="{! ct.Email }" />
            </apex:pageBlockTable>
        </apex:pageBlock>
    </apex:form>
</apex:page>

 

 

결과 페이지

 

 

 

 

 

 

 

참조 : Trailhead - Create & Use Custom Controllers

 

Visualforce 기본 사항

Visualforce를 사용하여 모바일 및 웹 앱용 사용자 정의 사용자 인터페이스 만들기

trailhead.salesforce.com

 

 

 

 

'Salesforce UI' 카테고리의 다른 글

[Lightning Component] Controller vs Helper  (0) 2022.02.22
Visualforce 기초 03  (0) 2022.01.04
Visualforce 기초 02  (0) 2022.01.03
Visualforce 기초 01  (0) 2021.12.30
Share Link
reply
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31