【问题标题】:<p:pickList> not showing on button click<p:pickList> 未在按钮单击时显示
【发布时间】:2013-06-26 10:29:51
【问题描述】:

我有一个代码:

<h:panelGroup>
 <p:panel>
    <p:commandButton value="Go" style="background:#25A6E1;color:#fff;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;"
        actionListener="#{customCalender.searchUserofList}" update="picklist">
            <f:attribute name="trigram" value="#{customCalender.listTrig}"/>
            <f:attribute name="firstName" value="#{customCalender.listFname}"/>
            <f:attribute name="lastName" value="#{customCalender.listLname}"/>
            <f:attribute name="teamName" value="#{customCalender.selectedTeam}"/>   
    </p:commandButton>
 </p:panel>
</h:panelGroup>
<h:panelGroup id="picklist" rendered="#{not empty customCalender.searchList}">
    <p:pickList value="#{customCalender.searchList}" var="user" itemLabel="#{user}" itemValue="#{user}"/>
</h:panelGroup>

并且searchList 在方法searchUserofList() 中单击按钮时生成。

我将searchList 声明为:

私有 DualListModel 搜索列表;

public DualListModel<String> getSearchList() {
    return searchList;
}

public void setSearchList(DualListModel<String> searchList) {
    this.searchList = searchList;
}

它被定义在searchUserofList方法中,例如:

List<EmpBean> list = new ArrayList<EmpBean>();
    list = getSearchResult("people",trigram,firstName,lastName,teamName);
    Iterator<EmpBean> iterator = list.iterator();
    List<String> userList = new ArrayList<String>();
    List<String> userTarget = new ArrayList<String>();
    while(iterator.hasNext()){

        String userName = iterator.next().getStrUserid();
        System.out.println("Name :: "+userName);
        userList.add(userName);
    }
    searchList = new DualListModel<String>(userList, userTarget);

但是当点击按钮时,它会获取列表,但没有显示带有值的选项列表。 如何正确显示选项列表?请提出建议。

【问题讨论】:

    标签: jsf primefaces picklist


    【解决方案1】:

    您不能动态更新未呈现的组件,您应该移动您的 rendered 属性,以便您的组件始终存在。

    <h:panelGroup id="picklist">
        <p:pickList rendered="#{not empty customCalender.searchList}" value="#{customCalender.searchList}" var="user" itemLabel="#{user}" itemValue="#{user}"/>
    </h:panelGroup>
    

    【讨论】:

      猜你喜欢
      • 2019-08-25
      • 1970-01-01
      • 2017-08-19
      • 2021-11-02
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      相关资源
      最近更新 更多