0 Replies Latest reply on Feb 4, 2010 8:00 PM by vuntermann

    Concurrent call to conversation problem in sortable column

      Hi everyone,

      I get a concurrent call to conversation problem in Seam, when I tried to sort a column. I had many tables, so I created a generic table component.
      Before to migrate my tables to the new component I had something like this:

      <h:form id="formId">
           <rich:dataTable id="sdiSearchResultTable" var="record"
                          value="#{sdiSearch.dataModel}" rows="#{sdiSearch.dataModel.pageSize}" width="100%" rowClasses="row1,row2" styleClass="table" reRender="sdiSearchResultTableFooter" sortMode="multi">
                          
      <rich:column sortBy="#{currencySortExpression}">
                                <f:facet name="header">
                                      <h:outputText value="#{messages['sdiSearch.currency']}" />
                                </f:facet>
                                 <h:outputText value="#{record.currencies}" />
                          </rich:column>
           </rich:dataTable>
      </h:form>

      And the multiple clicks on a sortable column worked well.

      After the migration of the tables to the new table component, I have something like this:

      a rich table
           column
                 dataColumn
                         sortableDataColumn
                               rich column

      And the sortableDataColumn is the following:

      <rich:column sortBy="#{sortByExpression}" rendered="#{column.visible}"
                     styleClass="#{column.styleClass}">
                 <f:facet name="header">
                       <h:outputText value="#{messages[columnLabel]}" />
                 </f:facet>
                  <h:outputText value="#{rowData[column.property]}" converter="#{column.converter}" />
           </rich:column>

      The sortByExpression indicates the property name to sort.
      And when I tried multiple clicks on the a sortable column, then I get a call to conversation problem. I was reading http://achorniy.wordpress.com/2009/07/14/avoid-concurrent-call-to-conversation/ but these solutions seems to works on a4j:commandLink.

      I also tried to change the h:form on the generic table component to a a4j:form:
      <a4j:form eventsQueue="myFormQueue" requestDelay="100" ignoreDupResponses="true" />
      but it did not work.

      And when I tried adding a ajax support on the sortableDataColumn:
      <h:outputText value="#{messages[columnLabel]}" >
           <a4j:support event="onclick" eventsQueue="instancesQueue" ignoreDupResponses="true" requestDelay="50" />
      </h:outputText>
      it also did not work.

      Anyone know how could I solve this problem?

      Thanks in advance!!

      Vanesa