RichFaces3.1.6 contextMenu does not work in a certain condit
nazozen Jul 24, 2008 3:57 AMI use RichFaces3.1.6, JSF1.1, JDK1.4
rich:contextMenu does not work in a certain condition.
Following example 1 and 2 do not work, and only 3 works.
However, you must describe the same menu every each item, and, in the case of example 3, it is non-efficiency.
Is this a bug?
Besides, is there a good hand?
===============================
Example 1
===============================
<rich:contextMenu attached="false" id="menu001" submitMode="ajax">
<rich:menuItem ajaxSingle="false" reRender="table01" value="Menu001#{TestBean2.selectRow1}">
<a4j:actionparam name="rowid1" assignTo="#{TestBean2.selectRow1}" value="{rkv}"/>
</rich:menuItem>
</rich:contextMenu>
<rich:dataTable id="table01" value="#{TestBean2.datalist}" var="user" rowKeyVar="rkv">
<h:column>
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{user.id}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="NAME" />
</f:facet>
<h:outputText value="#{user.name}" />
</h:column>
<rich:componentControl event="onRowClick" for="menu001" operation="show">
<f:param value="#{rkv}" name="rkv" />
</rich:componentControl>
</rich:dataTable>
<h:inputText id="Text1" value="#{TestBean2.text}">
<rich:componentControl event="onclick" for="menu001" operation="show">
<f:param value="0" name="rkv" />
</rich:componentControl>
</h:inputText>
===============================
Example 2
===============================
<rich:dataTable id="table01" value="#{TestBean2.datalist}" var="user" rowKeyVar="rkv">
<h:column>
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{user.id}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="NAME" />
</f:facet>
<h:outputText value="#{user.name}" />
</h:column>
<rich:contextMenu attached="true" id="menu001" event="onclick" submitMode="ajax">
<rich:menuItem ajaxSingle="false" reRender="table01" value="Menu001#{TestBean2.selectRow1}">
<a4j:actionparam name="rowid1" assignTo="#{TestBean2.selectRow1}" value="#{rkv}"/>
</rich:menuItem>
</rich:contextMenu>
</rich:dataTable>
===============================
Example 3
===============================
<rich:dataTable id="table01" value="#{TestBean2.datalist}" var="user" rowKeyVar="rkv">
<h:column>
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{user.id}" />
<rich:contextMenu attached="true" id="menu001" event="oncontextmenu" submitMode="ajax">
<rich:menuItem ajaxSingle="false" reRender="table01" value="Menu001#{TestBean2.selectRow1}">
<a4j:actionparam name="rowid1" assignTo="#{TestBean2.selectRow1}" value="#{rkv}"/>
</rich:menuItem>
</rich:contextMenu>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="NAME" />
</f:facet>
<h:outputText value="#{user.name}">
<rich:contextMenu attached="true" id="menu002" event="oncontextmenu" submitMode="ajax">
<rich:menuItem ajaxSingle="false" reRender="table01" value="Menu001#{TestBean2.selectRow1}">
<a4j:actionparam name="rowid1" assignTo="#{TestBean2.selectRow1}" value="#{rkv}"/>
</rich:menuItem>
</rich:contextMenu>
</h:outputText>
</h:column>
</rich:dataTable>
<h:inputText id="Text1" value="#{TestBean2.text}">
<rich:contextMenu attached="true" id="menu003" event="oncontextmenu" submitMode="ajax">
<rich:menuItem ajaxSingle="false" reRender="table01" value="Menu001#{TestBean2.selectRow1}">
<a4j:actionparam name="rowid2" assignTo="#{TestBean2.selectRow1}" value="-1"/>
</rich:menuItem>
</rich:contextMenu>
</h:inputText>