Klaus SCHUSTER <[email protected]> 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.