I'm using a p:inplace for a h:selectonemenu in a p:datatable and this datatable is inside a p:tabView.
Code of the datatable:
Code: Select all
<p:dataTable id="changeDataTable" rows="10" styleClass="change_table"
var="change" value="#{versionView.version.changes}" scrollable="true"
height="480px">
<p:column styleClass="important_column">
<f:facet name="header">
<h:outputText value="" />
</f:facet>
<p:inplace label="!" rendered="#{change.important}">
<h:selectBooleanCheckbox value="#{change.important}" />
</p:inplace>
<h:selectBooleanCheckbox rendered="#{!change.important}"
value="#{change.important}" />
</p:column>
<p:column sortBy="#{msgs[change.changeType.localizationKey]}"
styleClass="type_column">
<f:facet name="header">
<h:outputText value="#{msgs.change_type}" />
</f:facet>
<p:inplace label="#{msgs[change.changeType.localizationKey]}"
effectSpeed="fast">
<h:selectOneMenu value="#{change.changeType}">
<f:selectItems value="#{change.changeType.values}" var="changeType"
itemLabel="#{msgs[changeType.localizationKey]}"
itemValue="#{changeType}" />
</h:selectOneMenu>
</p:inplace>
</p:column>
<p:column styleClass="description_column">
<f:facet name="header">
<h:outputText value="#{msgs.change_description}" />
</f:facet>
<p:inplace rendered="#{change.id != null}">
<h:inputTextarea value="#{change.description}" />
</p:inplace>
<h:inputTextarea rendered="#{change.id == null}"
value="#{change.description}" />
</p:column>
</p:dataTable>
I also found that if I take out the p:datatable from the p:tabView the h:selectOneMenu works well.
Code tabView:
Code: Select all
<p:tabView rendered="#{versionView.version != null}"
dynamic="true">
<p:tab title="#{msgs.version_version}">
<ui:include src="../version/content.xhtml" />
</p:tab>
<p:tab title="#{msgs.change_changes}">
<ui:include src="../change/list.xhtml" />
</p:tab>
</p:tabView>
Code: Select all
<td>
<script type="text/javascript">
PrimeFaces.onContentReady('productSection:changeDataTable:1:j_idt79', function() {
productSection_changeDataTable_1_j_idt79_widget = new PrimeFaces.widget.Inplace('productSection:changeDataTable:1:j_idt79',
{effect:'fade',effectSpeed:'fast'});});
</script>
<span id="productSection:changeDataTable:1:j_idt79" class="pf-inplace">
<span id="productSection:changeDataTable:1:j_idt79_display" class="pf-inplace-display"></span>
<span id="productSection:changeDataTable:1:j_idt79_content" class="pf-inplace-content">
<select name="productSection:changeDataTable:1:j_idt80" size="1"></select>
</span>
</span>
</td>
Thanks in advance.
JoseL
PrimeFaces 2.0.0-SNAPSHOT
JSF 2.0.2
Tomcat 6