在我的应用程序使用primefaces 3.4.2版本之前,selectonemenu组件宽度没有调整到selectItems的标签文本并且根据定义的字段固定但是在移动到primefaces 5版本后所有selectonemenu组件宽度默认情况下现在调整为selectItems的标签text.SelectItems的值已从bean中检索到,它在UI上看起来很丑陋,一次又一次地根据selectItems的标签值选择onemenu组件改变其宽度。
<p:outputPanel id="groupId">
<fieldset class="noBorderFieldsetclass">
<legend class="noBorderFiledSetLegendclass">Detail</legend>
<table width="100%">
<tr>
<td colspan="9"><p:spacer height="10"></p:spacer></td>
</tr>
<tr>
<td styleClass="titlesClass">Title1:</td>
<td colspan="8">
<p:selectOneMenu id="selectOneMenuId1" style="width:130px;" value="#{bean.selectOneMenuId1Value}" immediate="true">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{bean.title1List}" var="title1" itemLabel="#{title1.label}" itemValue="#{title1.labelValue}" />
<p:ajax update="selectOneMenuId2 selectOneMenuId3 selectOneMenuId4 selectOneMenuId5" listener="#{bean.title1Listener}" process="@this"/>
</p:selectOneMenu>
</td>
</tr>
<tr><td styleClass="titlesClass">Title2:</td>
<td>
<p:selectOneMenu id="selectOneMenuId2" style="width: 130px;" value="#{bean.selectOneMenuId2Value}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{bean.title2List}" var="title2" itemLabel="#{title2.label}" itemValue="#{title2.labelValue}" />
<p:ajax update="selectOneMenuId3 selectOneMenuId4 selectOneMenuId5" listener="#{bean.title2Listener}" process="@this"/>
</p:selectOneMenu>
</td>
---
---
</tr>
</table>
请让我知道如何使selectonemenu组件宽度固定,而不是根据从bean检索的selectItems的值进行调整。我不能全局设置selectonemenu组件宽度,因为每个selectonemenu组件宽度是根据屏幕布局定义的。 / p>