Primefaces:如何获取数据表列过滤器组件

时间:2012-10-11 15:08:05

标签: jsf-2 datatable primefaces

是否有解决方案为“filterBy”组件设置“DefaultValue”? 我的意思是更精确......如何设置图片中显示的组件的值?

http://www.pictureupload.de/originals/pictures/111012170732_primefaces.png

或者如何为p:列中的“过滤”选项设置defaultValue?!

            <p:column id="artikelVerkaufDatum" headerText="Datum" filterBy="#{sales.dateForFilter}"
                filterMatchMode="startsWith">
                <h:outputText id="date" value="#{sales.datum}">
                    <f:convertDateTime type="date" pattern="dd.MM.yyyy HH:MM:ss" />
                </h:outputText>
            </p:column>

好吧......另一个问题......我的FireBug说组件存在...但我无法访问它,例如:FacesContext.getCurrentInstance()。getViewRoot()。findComponent ...我总是得到一个NullpointerException:(

<th id="artikelVerkauf:datatable:artikelVerkaufDatum" class="ui-state-default ui-filter-column" role="columnheader">
<div class="ui-dt-c">
<span>Datum</span>
<input id="artikelVerkauf:datatable:artikelVerkaufDatum_filter" class="ui-column-filter ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" autocomplete="off" value="" name="artikelVerkauf:datatable:artikelVerkaufDatum_filter" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false">
</div>
</th>

如果有人有任何想法......请告诉我!欢迎各种帮助:) 关心Sway

1 个答案:

答案 0 :(得分:2)

这是我曾经使用过的解决方案(PF 3.5):

  • 首先为数据表设置 widgetVar =“tableWidget”
  • 为已过滤的 p:列分配 filterStyleClass =“my-column-filter”
  • 然后插入以下JavaScript,它将在DOM准备好后执行:

    $(document).ready(function(){      $( '我的列过滤器。 ')VAL(' 默认')。      tableWidget.filter(); });
祝你好运!