[RichFaces] Problemas com ContextMenu

0 respostas
J

Salve pessoal,

Tenho uma rich:dataTable que abre um rich:contextMenu no evento onRowClick.
Nesse menu pode-se excluir os dados da row selecionada: tentei fazer isso passando um a4j:actionparam que atualiza meu bean com o objeto que deve ser excluído da collection que alimenta a dataTable.

O problema é o seguinte: o meu bean nunca é atualizado pelo a4j:actionparam.
A ação registrada para o rich:menuItem é disparada, mas quando busca o elemento que deve ser excluído, este é sempre null.

O bean funciona corretamente para todas as outras funcionalidades da página e possui apenas métodos simples. Creio que o problema seja mesmo na construção da página.

Segue o trecho do código da minha página:

<rich:panel>
			<f:facet name="header">
				<h:outputText value="Total Pecuniario" />
			</f:facet>
			<a4j:form id="principal">
				<h:panelGrid columns="2">
					<h:column>
						<h:outputText value="Dinheiro" />
					</h:column>
					<h:column>
						<h:inputText id="iptDinheiro"
							value="#{FechamentoCaixaBean.pageForm.fechamentoCaixa.totalDinheiro}">
							<a4j:support event="onblur" reRender="optTotalPecun" />
						</h:inputText>
					</h:column>
					<h:column>
						<h:outputText value="Moedas Avulsas" />
					</h:column>
					<h:column>
						<h:inputText id="iptMoedasAvulsas"
							value="#{FechamentoCaixaBean.pageForm.fechamentoCaixa.totalMoedaAvulsa}">
							<a4j:support event="onblur" reRender="optTotalPecun" />
						</h:inputText>
					</h:column>
					<h:column>
						<h:outputText value="Moedas Estoque" />
					</h:column>
					<h:column>
						<h:inputText id="iptMoedasEstoque"
							value="#{FechamentoCaixaBean.pageForm.fechamentoCaixa.totalMoedaEstoque}">
							<a4j:support event="onblur" reRender="optTotalPecun" />
						</h:inputText>
					</h:column>
					<h:column>
						<h:outputText value="Cheques" />
					</h:column>
					<h:column>
						<rich:dataTable
							value="#{FechamentoCaixaBean.pageForm.fechamentoCaixa.chequeList}"
							var="item" id="tbCheques"
							rendered="#{not empty FechamentoCaixaBean.pageForm.fechamentoCaixa.chequeList}">
							<rich:column>
								<f:facet name="header">
									<h:outputText value="Valor" />
								</f:facet>
								<h:outputText value="#{item.valor}" />
							</rich:column>
							<rich:column>
								<f:facet name="header">
									<h:outputText value="Descricao" />
								</f:facet>
								<h:outputText value="#{item.descricao}" />
							</rich:column>
							<rich:componentControl event="onRowClick" for="excluirChequeMenu"
								operation="show">
								<f:param value="#{item}" name="chequeSelecionado" />
							</rich:componentControl>
						</rich:dataTable>
						<rich:contextMenu attached="false"
							id="excluirChequeMenu" submitMode="ajax">
							<rich:menuItem value="Excluir o cheque '{chequeSelecionado.descricao}'" ajaxSingle="true" reRender="tbCheques">
								<a4j:actionparam value="{chequeSelecionado}" assignTo="#{FechamentoCaixaBean.pageForm.chequeExcluir}" />
							</rich:menuItem>
						</rich:contextMenu>
					</h:column>
					<h:column />
					<h:column>
						<a4j:commandButton value="Adicionar Cheque" id="btnAdicionaCheque"
							onclick="document.getElementById('formCheques').reset();Richfaces.showModalPanel('modCheques');document.getElementById('formCheques:iptDescCheque').focus();" />
					</h:column>
					<h:column>
						<h:outputText value="Total" styleClass="textoPretoNegrito" />
					</h:column>
					<h:column>
						<h:outputText id="optTotalPecun"
							value="#{FechamentoCaixaBean.pageForm.totalPecuniario}"
							styleClass="textoPretoNegrito" />
					</h:column>
				</h:panelGrid>
			</a4j:form>
		</rich:panel>

Qualquer dica será muito bem vinda!

[]s

Jonas

Criado 24 de fevereiro de 2010
Respostas 0
Participantes 1