dataTable - onRowClick (help please)
ccsilva Jul 24, 2007 7:45 PMHi,
I am trying to work with the event onRowClick of a dataTable.
I already have read the posts below and others.
http://jboss.com/index.html?module=bb&op=viewtopic&t=111455http://jboss.com/index.html?module=bb&op=viewtopic&t=106284http://jboss.com/index.html?module=bb&op=viewtopic&t=107198
But, by some reason my onRowClick event is not working. Please see the code below:
Datatable relevant code:
<a4j:form ajaxSubmit="true" >
<a4j:outputPanel ajaxRendered="true" id="teste">
<rich:dataTable
id="dtTarefasEntrada"
columnClasses="col"
value="#{workflowBean.tarefasEntrada}"
var="tarefa"
binding="#{workflowBean.tabela}"
>
<a4j:support event="onRowClick" actionListener="#{workflowBean.rowSelected}"/>
<f:facet name="header">
<rich:columnGroup>
<rich:column>
<h:outputText styleClass="headerText" value="ID" />
</rich:column>
<rich:column>
<h:outputText styleClass="headerText" value="Observacao" />
</rich:column>
<rich:column>
<h:outputText styleClass="headerText" value="links" />
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:column>
<h:outputText value="#{tarefa.id}" />
</rich:column>
<rich:column>
<h:outputText value="#{tarefa.dadosTarefa.observacao}" />
</rich:column>
<rich:column>
<a4j:commandLink value="[detalhes]" action="#{workflowBean.rowSelected2}" reRender="teste, detalhes"></a4j:commandLink>
</rich:column>
</rich:dataTable>
</a4j:outputPanel>
</a4j:form>
Backing bean methods:
public void rowSelected(ActionEvent event) {
System.out.println("rowSelected");
Integer currIndex = getTabela().getRowIndex();
List allData = (List) getTabela().getValue();
this.tarefa = (Tarefa) allData.get(currIndex);
System.out.println("@#@#@#@#@#@#@: ROW: "+ tarefa.getId()+" "+tarefa.getDadosTarefa().getObservacao());
}
public void rowSelected2() {
System.out.println("rowSelected");
Integer currIndex = getTabela().getRowIndex();
List allData = (List) getTabela().getValue();
Tarefa t = (Tarefa)getTabela().getRowData();
System.out.println("T: "+ t.getId());
this.tarefa = (Tarefa) allData.get(currIndex);
System.out.println("@#@#@#@#@#@#@: ROW: "+ tarefa.getId()+" "+tarefa.getDadosTarefa().getObservacao());
}
Tarefa and DadosTarefa are POJOs.
NOTE: If I click on link generated by my commandLink, all works fine with method: "rowSelected2()". But If I click on a row the method "rowSelected(ActionEvent event)" is never called.
I already have put a <a4j:log/> and I saw that when I click on a row there are no events generated.
Please, help!!!
Thanks a lot!!!
Claudiney
(Brazil)