티스토리 뷰
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
'[세일즈포스 개발자]' 카테고리의 다른 글
Apex - Visualforce Basic - Use Standard List Controller (0) | 2023.02.22 |
---|---|
Apex - Visualforce Basic - 목록에 페이지 지정 추가 (0) | 2023.02.22 |
Apex - Visualforce Basic - 레코드 목록 표시 (0) | 2023.02.22 |
Apex - Visualforce Basic - Input Data Using Forms (0) | 2023.02.22 |
Apex - Visualforce - 관련 레코드 편집 (0) | 2023.02.21 |
댓글