티스토리 뷰

1.     List에 목록 보기 필터링 추가

-       {! listViewOptions }를 사용하여 Object에 사용할 수 있는 목록 보기 필터의 목록을 가져올 수 있다.

-       {! filterId }를 사용하여 표준 목록 컨트롤러의 결과에 사용할 목록 보기 필터를 설정할 수 있다.

-       Standard List Controller(표준 목록 컨트롤러)는 목록 표시를 변경하는데 사용할 수 있는 여러 기능을 제공한다.

-       코드를 작성하는 것 대신 클릭을 통해 목록 보기 필터를 선언하여 만들고 표준 목록 컨트롤러에 사용하면, 페이지에서 정의된 목록 보기 필터를 사용할 수 있다.

 

2.     예시 코드

 

 

<apex:page standardController="Contact" recordSetVar="contacts">

    <apex:form>
        
        <apex:pageBlock title="Contacts List" id="contacts_list">
            
            <!-- Filter -->
            <!-- Filter를 사용하면 전체 페이지를 새로고침하지 않아도 목록이 업데이트되는것을 확인할 수 있다. -->
            <!-- 이는 reRender 속성으로 인한 것인데, reRender는 속성에 이름이 지정된 페이지의 일부만 업데이트한다. -->
            
            <!-- 페이지에서 Filter가 작동되는 방식을 살펴보자면 -->
            <!-- 페이지가 로드되면 apex:selectList가 {! listViewOptions }표현삭애소 목록을 가져와 사용가능한 필터를 만든다. -->
            <!-- {! listViewOptions }는 표준 목록 컨트롤러에서 지원하는 속성이다. -->
            <!-- 새로운 옵션을 선택하면 onchange이벤트가 apex:actionSupport에서 실행된다. -->
            <!-- onchange가 실행되면 페이지는 apex:selectList에 설정된 filterId에 선택된 항목을 다시 제출한다. -->
            Filter: 
            <apex:selectList value="{! filterId}" size="1">
                <apex:selectOptions value="{! listViewOptions }" />
                <apex:actionSupport event="onchange" reRender="contacts_list"/>
            </apex:selectList>
        
            <!-- Contacts List -->            
            <apex:pageBlockTable value="{! contacts}" var="ct">                
                <apex:column value="{! ct.FirstName}"/>
                <apex:column value="{! ct.LastName}"/>
                <apex:column value="{! ct.Email}"/>
                <apex:column value="{! ct.Account.Name}"/>
            </apex:pageBlockTable>
            
        </apex:pageBlock>
        
    </apex:form>
    
</apex:page>

 

3.     예시 화면

 

 

 

728x90
댓글
«   2024/11   »
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
최근에 올라온 글
Total
Today
Yesterday
공지사항