Klaus SCHUSTER <schus...@racon-linz.at> schrieb am 12.06.2009 14:57:53:

> 
> Hello, 
> I am trying to use t:dataTable from Tomahawk to build a sortable table. 
> The sort criteria (column which is used for sorting, asc vs. desc) 
should
> persist (in the session) so that when the use comes back to table after 
> visiting other pages the same sort criteria should be automatically 
> applied he used the last time. 
> After perusing the API I thought this should be possible with these 
attributes. 
> 
> preserveDataModel="false" 
> preserveSort="true" 
> sortColumn="#{verein.sortColumn}" 
> sortAscending="#{verein.ascending}"> 
> 
> 
> However I cannot make it work. The sorting criteria are stored in my 
> backing bean, but when I navigate back to the table they are not 
applied. 
> 
> I am using tomahawk-1.1.8.jar on Websphere 6.1 
> 
> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
> pageEncoding="ISO-8859-1"%> 
> <%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h"%> 
> <%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%> 
> <%@ taglib uri="http://myfaces.apache.org/tomahawk"; prefix="t"%> 
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:
> //www.w3.org/TR/html4/loose.dtd"> 
> <html> 
> <head> 
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
 
> <link rel="stylesheet" type="text/css" href="styles.css" /> 
> 
> <title>Insert title here</title> 
> </head> 
> <body> 
> <f:view> 
> <h:form id="f1"> 
> <t:dataTable value="#{verein.fechter}" var="fechter" 
> rowClasses="oddRow,evenRow" 
> preserveDataModel="false" 
> preserveSort="true" 
> sortColumn="#{verein.sortColumn}" 
> sortAscending="#{verein.ascending}"> 
> <t:column sortable="true" defaultSorted="true"> 
> <f:facet name="header"> 
> <h:outputText value="Vorname" /> 
> </f:facet> 
> <h:outputText value="#{fechter.vorname}" /> 
> </t:column> 
> 
> <t:column sortable="true" defaultSorted="true"> 
> <f:facet name="header"> 
> <h:outputText value="Nachname" /> 
> </f:facet> 
> <h:outputText value="#{fechter.nachname}" /> 
> </t:column> 
> <h:column headerClass="columnHeader"> 
> <f:facet name="header"> 
> <h:outputText value="Waffe" /> 
> </f:facet> 
> <h:outputText value="#{fechter.waffe}" /> 
> </h:column> 
> </t:dataTable> 
> <h:commandButton value="OK" /> 
> </h:form> 
> <a href="zweite.html">zweite Seite</a> 
> </f:view> 
> </body> 
> </html> 
> 
> 
> public class Verein { 
> 
> List<Fechter> fechter = new ArrayList<Fechter>(); 
> private int first = 1; 
> private String sortColumn; 
> private boolean ascending; 
> 
> public Verein() { 
> 
> fechter.add(new Fechter("Britta", "Blafasel", Waffe.De)); 
> fechter.add(new Fechter("Svenja", "Blubber", Waffe.Fl)); 
> fechter.add(new Fechter("Laura", "SSSSSS", Waffe.Fl)); 
> fechter.add(new Fechter("Lisa", "GGGGGG", Waffe.Fl)); 
> fechter.add(new Fechter("Anja", "FFFFF", Waffe.Fl)); 
> } 
> 
> public List<Fechter> getFechter() { 
> return fechter; 
> } 
> 
> public int getFirst() { 
> return first; 
> } 
> 
> public String getSortColumn() { 
> return sortColumn; 
> } 
> 
> public void setSortColumn(String sortColumn) { 
> this.sortColumn = sortColumn; 
> } 
> 
> public boolean isAscending() { 
> return ascending; 
> } 
> 
> public void setAscending(boolean ascending) { 
> this.ascending = ascending; 
> } 
> 
> 
> } 
> 
> 
> <faces-config 
>     xmlns="http://java.sun.com/xml/ns/javaee"; 
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee <a href="http:
> //java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"" target="_blank" 
> 
rel="nofollow">http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd";</a> 
 
>     version="1.2"> 
> 
>     <managed-bean> 
>     <managed-bean-name>verein</managed-bean-name> 
>     <managed-bean-class>test.Verein</managed-bean-class> 
>     <managed-bean-scope>session</managed-bean-scope> 
>     </managed-bean> 
> 
> </faces-config> 
> 
> 
> 
> I would greatly appreciate any help 
> 
> Thanks,
> Klaus 
> 
> 
> 
> Der Austausch von Nachrichten mit o.a. Absender via e-mail dient 
> ausschließlich Informationszwecken. Rechtsgeschäftliche Erklärungen 
> dürfen über dieses Medium nicht ausgetauscht werden.
> 
> Correspondence with a.m. sender via e-mail is only for information 
> purposes. This medium is not to be used for the exchange of legally-
> binding communications.

Any suggestions related to this topic?



Der Austausch von Nachrichten mit o.a. Absender via e-mail dient ausschließlich 
Informationszwecken. Rechtsgeschäftliche Erklärungen dürfen über dieses Medium 
nicht ausgetauscht werden.

Correspondence with a.m. sender via e-mail is only for information purposes. 
This medium is not to be used for the exchange of legally-binding 
communications.

Reply via email to