본문 바로가기
SFDC 개념

Visualforce - 기본4

by 경 훈 2023. 6. 26.

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>

 

 

결과 페이지

 

 

 

 

 

 

출처 : http://jaee-h.tistory.com/entry/Visualforce-%EA%B8%B0%EC%B4%88-04Custom-Controller

참조 : Trailhead - Create & Use Custom Controllers

'SFDC 개념' 카테고리의 다른 글

Salesforce Apex 용어  (0) 2023.07.07
Visualforce - 기본3  (0) 2023.06.26
Visualforce - 기본2  (0) 2023.06.26
Visualforce - 기본1  (0) 2023.06.26
APEX - Trigger  (0) 2023.06.26

댓글