Disabling client side sorting in ExtendedDataTable
devonbl Feb 19, 2009 5:02 PMI'm using rich faces 3.3.0 and the extended data table with a data table scroller. We're using the data scroller, because we're displaying a given user's activities, and that user might have thousands. Because of this, I need to disable the client side sorting, and capture the "onsort" event so that I can have our service perform the sorting and return to me the set of activities the user wants to see.
Along with this, I'm wondering if there's a way to disable the "group by functionality" as well?
Here's the code:
<a4j:outputPanel> <h:form> <div> <rich:extendedDataTable id="activitiesGrid" value="#{activitiesListingDataModel}" var="row" rows="20" sortMode="single" style="width: 3000px; height: 524px" selectionMode="multi" tableState="#{activityListingDataProvider.activitiesTableState}" cellpadding="5" rowClasses="activityRow, activityRowAlternate" onRowMouseOver="activitiesHandler.highlightRow(this)" onRowMouseOut="activitiesHandler.unHighlightRow(this)"> <rich:column id="activityNameColumn" sortable="true" label="#{field_activityName}" sortBy="#{row.activityName}" width="150px"> <f:facet name="header"> <h:outputText value="#{field_activityName}"/> </f:facet> <h:outputLink value="/activity/#{row.activityId}"> <h:outputText value="#{row.activityName}" title="#{row.activityName}"/> </h:outputLink> </rich:column> <rich:column id="activityTypeColumn" sortable="true" label="#{field_activityType}" sortBy="#{row.activityTypeName}" width="100px"> <f:facet name="header"> <h:outputText value="#{field_activityType}"/> </f:facet> <h:outputText value="#{row.activityTypeName}"/> </rich:column> <rich:column id="locationColumn" sortable="true" label="#{field_location}" sortBy="#{row.locationName}" width="150px"> <f:facet name="header"> <h:outputText value="#{field_location}"/> </f:facet> <h:outputText value="#{row.locationName}" title="#{row.locationName}"/> </rich:column> <rich:column id="eventTypeColumn" sortable="true" label="#{field_eventType}" sortBy="#{row.eventTypeName}" visible="false" width="100px"> <f:facet name="header"> <h:outputText value="#{field_eventType}"/> </f:facet> <h:outputText value="#{row.eventTypeName}"/> </rich:column> </rich:extendedDataTable> </div> <div class="activitiesFooterLeft"> <rich:datascroller id="pageScroller" for="activitiesGrid" page="#{activityListingDataProvider.scrollerPage}" align="center" maxPages="10" tableStyleClass="paginationTableStyle"/> </div> </h:form> </a4j:outputPanel>
Thanks in advance,
Devon.Lindsey@garmin.com