Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 selectOneMenu按不同的列筛选,而不仅仅是按标签筛选_Jsf 2_Primefaces_Selectonemenu - Fatal编程技术网

Jsf 2 selectOneMenu按不同的列筛选,而不仅仅是按标签筛选

Jsf 2 selectOneMenu按不同的列筛选,而不仅仅是按标签筛选,jsf-2,primefaces,selectonemenu,Jsf 2,Primefaces,Selectonemenu,看看这里的“高级”示例:,我可以在我的oneMenu中的每个选项中有两列,但是过滤只发生在项目的标签上 我希望能够通过任何一列进行过滤(与示例不同,我的两列都只包含文本,因此它们是可过滤的)。这种定制是否可行 将filter=“true”添加到中似乎没有任何效果,而用于编写自定义筛选规则的实用工具:filterFunction似乎也只在标签上运行 <p:outputLabel for="advanced" value="Advanced:" /> <p:selectOneMe

看看这里的“高级”示例:,我可以在我的
oneMenu
中的每个选项中有两列,但是过滤只发生在项目的标签上

我希望能够通过任何一列进行过滤(与示例不同,我的两列都只包含文本,因此它们是可过滤的)。这种定制是否可行

filter=“true”
添加到
中似乎没有任何效果,而用于编写自定义筛选规则的实用工具:
filterFunction
似乎也只在标签上运行

<p:outputLabel for="advanced" value="Advanced:"  />
<p:selectOneMenu id="advanced" value="#{selectOneMenuView.theme}" converter="themeConverter" panelStyle="width:180px"
                         effect="fade" var="t" style="width:160px" filter="true" filterMatchMode="startsWith">
  <f:selectItems value="#{selectOneMenuView.themes}" var="theme" itemLabel="#{theme.displayName}" itemValue="#{theme}" />
  <p:column style="width:10%">
    <h:outputText styleClass="ui-theme ui-theme-#{t.name}" />
  </p:column>
  <p:column>
    <h:outputText value="#{t.displayName}" />
  </p:column>
</p:selectOneMenu>

不,抱歉,使用SelectOne功能表无法执行此操作。您可以添加filterFunction,但在该函数中,您只能在标签上筛选客户端


或者,您可以使用,它可以在服务器端搜索您想要的任何内容,还可以显示自定义内容。

如果您编写

添加列
itemLabel=“#{v.placa}-#{v.marca}”的相同元素


您的过滤器将类似于
filterMatchMode=“contains”


它起作用了

autocomplete
似乎要求我们通过
completeMethod
属性提供过滤选项?此外,它似乎不支持纯客户端过滤(a已引发,但已关闭,状态为:“Wonnt fix”)。是。。Adnd客户端自动完成是不合逻辑的,因为它没有提供比带有filteringSorry的selectonemenu更高的性能。我在回答中写道,客户端应该是服务器端。更正它(已经晚了;-))
<p:column headerText="Placa">
                            <h:outputText value="#{t.placa}" />
                        </p:column>
                        <p:column headerText="Marca">
                            <h:outputText value="#{t.marca}" />
                        </p:column>