Jsf p:在编辑模式下选择一个菜单默认值
我使用的是primefaces,有一个datatable,它有两列。一列是OutputExt,另一列是selectOneMenu。我制作了可编辑的SelectOne菜单。事实上,这是可行的,但不合适。selectItem的默认值显示为空,但ı希望它将第一个值显示为默认值。我怎样才能做到Jsf p:在编辑模式下选择一个菜单默认值,jsf,primefaces,Jsf,Primefaces,我使用的是primefaces,有一个datatable,它有两列。一列是OutputExt,另一列是selectOneMenu。我制作了可编辑的SelectOne菜单。事实上,这是可行的,但不合适。selectItem的默认值显示为空,但ı希望它将第一个值显示为默认值。我怎样才能做到 <p:dataTable id="cellEditingTable" var="message" value="#{messageTableController.menuList}" pag
<p:dataTable id="cellEditingTable" var="message"
value="#{messageTableController.menuList}" paginator="true"
paginatorPosition="bottom" editable="true" editMode="cell">
<p:column>
<p:selectOneMenu id="menu" value="#{messageTableController.selected}"
style="width:96%" effect="fold" editable="true">
<f:selectItem itemLabel="#{message.assign}"
itemValue="#{message.assign}" />
<f:selectItem itemLabel="#{message.combo}"
itemValue="#{message.combo}" />
</p:selectOneMenu>
</p:column>
</p:dataTable>
我将selectOneMenu的值更改为first ItemValue。因此,当运行该程序时,first ItemValue将选中的项作为默认项
<p:selectOneMenu id="menu" value="#{message.assign}"
style="width:97%" editable="true">
<f:selectItem itemLabel="#{message.assign}"
itemValue="#{message.assign}" />
<f:selectItem itemLabel="#{message.combo}"
itemValue="#{message.combo}" />
</p:selectOneMenu>
将NoSelectOption添加到第一个selectItem
<f:selectItem itemLabel="#{message.assign}"
itemValue="#{message.assign}" noSelectionOption="true" />
回答这个问题可能会迟到。
如果使用editable=“true”
,则在浏览中渲染时,它将渲染为文本框
删除editable=“true”
,然后选择默认值
如果要在SelectOne菜单中提供筛选选项,请使用filter=“true”
基于“可编辑”属性,它将在浏览器中渲染,如下所示。
当我使用noSelectionOptios=“true”时,它只返回“s”作为组合框的第一项。
<p:selectOneMenu id="menu" value="#{message.assign}"
style="width:97%" filter="true">
<f:selectItem itemLabel="#{message.assign}"
itemValue="#{message.assign}" />
<f:selectItem itemLabel="#{message.combo}"
itemValue="#{message.combo}" />
</p:selectOneMenu>