<rich:dataTable> with dynamic context menu don't work corect
hhoehn Nov 18, 2009 4:35 AMHi,
I have a problem to set an context menu to an datatable with dynamic menu entries. I wont to render/notreder or enable/disable context menu items depending on each table entry type. I have testet this issue in different way, but the result is allways the same. The mdynamic menu entries ar enabled/disabled for all table entrys.
Here is my sample:
<h:form> <rich:dataTable id="openAlarmTable_id" columnsWidth="200px,140px,120px,*,100px" onRowMouseOver="this.style.backgroundColor='#F1F1F1'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" cellpadding="0" cellspacing="0" width="1050px" border="0" var="record" value="#{MyBean.entries}"> <f:facet name="header"> <rich:columnGroup> <rich:column> // all column header definitions </rich:column> </rich:columnGroup> </f:facet> <rich:column // all column output definitions </rich:column> <rich:componentControl event="onRowClick" for="contextmenu_table_id" operation="show"> <f:param value="#{record.obid}" name="obid"/> <f:param value="#{record.mapId == -1}" name="nomap"/> <f:param value="#{record.mapId}" name="mapid"/> </rich:componentControl> </rich:dataTable> </h:form> ... other definitions <h:form> <rich:contextMenu id="contextmenu_table_id" submitMode="ajax"> <rich:menuItem> <a4j:actionparam name="show_ymptoms" value="true" assignTo="#{AlarmTableBean.showSymptoms}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Hide Symptoms" reRender="state_tree_id,openAlarmTable_id" > <a4j:actionparam name="hide_symptoms" value="false" assignTo="#{AlarmTableBean.showSymptoms}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Show Acknowledged" reRender="state_tree_id,openAlarmTable_id" > <a4j:actionparam name="show_ymptoms" value="true" assignTo="#{AlarmTableBean.showAcknowledged}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Hide Acknowledged" reRender="state_tree_id,openAlarmTable_id" > <a4j:actionparam name="hide_symptoms" value="false" assignTo="#{AlarmTableBean.showAcknowledged}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Acknowledge" reRender="state_tree_id,openAlarmTable_id" rendered="#{SaveBean.nocUser}"> <a4j:actionparam name="alarmId" value="{obid}" assignTo="#{AcknowledgeDataBean.acknowledgeAlarm}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Unacknowledge" reRender="state_tree_id,openAlarmTable_id" rendered="#{SaveBean.nocUser}"> <a4j:actionparam name="alarmId" value="{obid}" assignTo="#{AcknowledgeDataBean.unAcknowledgeAlarm}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Ignore Alarm" reRender="state_tree_id,openAlarmTable_id" > <a4j:actionparam name="alarmId" value="{obid}" assignTo="#{AlarmTableBean.ignoreAlarm}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Reset Ignore List" reRender="state_tree_id,openAlarmTable_id" > <a4j:actionparam name="resetList" value="true" assignTo="#{AlarmTableBean.resetIgnoreList}"/> <a4j:actionparam name="init" value="false" assignTo="#{AlarmTableBean.init}"/> </rich:menuItem> <rich:menuItem value="Acknowledge Dialog" reRender="modalackpanel" rendered="#{SaveBean.nocUser}" oncomplete="#{rich:component('modalackpanel')}.show()" > <a4j:actionparam name="alarmId" value="{obid}" assignTo="#{AcknowledgeDataBean.alarmId}"/> </rich:menuItem> <rich:menuItem value="Jump to Weathermap" disabled="{isweathermap}" submitMode="none" onclick="document.location.href='/html/weatherMapDisplayView.jsf?init=false&map={weathermapid}'" /> </rich:contextMenu> </h:form>