2013-02-05 2 views
1

selectBooleanButton을 사용하여 필터를 표시하거나 숨길 수있는 필터가있는 dataTable을 만듭니다. 텍스트 필터를 숨길 수는 있지만 '정확한'필터의 선택 상자는 숨기지 않습니다. 코드는 아래와 같습니다. 나는 어떤 도움을 주셔서 감사합니다. Primefaces이 우선하기 때문입니다Primefaces : 데이터 테이블에 정확한 필터 숨기기/표시

<p:dataTable id="orgs" var="id" widgetVar="idTable" 
value="#{orgList.ids}" rows="10" 
rowKey="#{id.idPk}" 
paginator="true" paginatorPosition="top" 
selectionMode="single" 
selection="#{orgList.selectedOrg}" 
filteredValue="#{orgList.filteredValues}" 
> 

<f:facet name="header"> 
    <p:toolbar id="orgListToolbar"> 
     <p:toolbarGroup align="right"> 
      <p:selectBooleanButton value="#{orgList.showFilter}" onIcon="myfilter" offIcon="ui-icon-minusthick" onLabel="F" offLabel="F"> 
       <p:ajax update="orgs" oncomplete="idTable.clearFilters()"/> 
      </p:selectBooleanButton> 
     </p:toolbarGroup> 
    </p:toolbar> 
</f:facet> 


<p:column sortBy="#{id.id}" headerText="Id" filterBy="#{id.id}" filterStyle="#{orgList.showFilter?'':'display: none; visibility: hidden;'}"> 
    <h:outputText value="#{id.id}" /> 
</p:column> 
<p:column sortBy="#{id.idCls.clsName}" headerText="Id Type"    
     filterBy="#{id.idCls.clsName}" filterMatchMode="exact" filterOptions="#{commonLists.selectItemIdClses}" 
     filterStyle="#{orgList.showFilter?'':'display: none; visibility: hidden;'}" > 
    <h:outputText value="#{id.idCls.clsName}" /> 
</p:column> 

답변

1

당신의 filterStyle

당신은 다음을 수행 할 수 있습니다

사용자 정의 CSS 파일에서

는 다음을 추가

#id .ui-column-filter{ 
display:none; 
} 
( id는 테이블 ID입니다)

당신은 결국 당신의 CSS를 ... display: none; 모든


에서의 visibility: hidden;을위한 필요 충분 없다는 것을이

<h:body> 
    <h:outputStylesheet library="css" name="myCssFile.css" target="head" /> 

주처럼 (당신은 본문에 CSS를로드 할 수 있습니다)를 포함

: 적절한 selectos 예를 들어

당신이 jQuery를에게 .hide()/.show() 기능을 사용할 수있는 필터를 표시/숨기기 위해

DataTable - Filtering (브라우저 개발자 도구의 콘솔에 있음)

+0

응답 해 주신 Daniel에게 감사드립니다. 필터를 표시하거나 숨기려면 토글 버튼을 구현하려고합니다. 그래서 당신의 솔루션이 나를 위해 작동하지 않을 수 있습니다. –

+0

내 대답 업데이트 ... – Daniel

관련 문제