[richfaces-issues] [JBoss JIRA] Closed: (RF-3364) Programmatically created dataTable is not sortable

Tsikhon Kuprevich (JIRA) jira-events at lists.jboss.org
Thu Jul 10 08:34:27 EDT 2008


     [ http://jira.jboss.com/jira/browse/RF-3364?page=all ]

Tsikhon Kuprevich closed RF-3364.
---------------------------------


> Programmatically created dataTable is not sortable
> --------------------------------------------------
>
>                 Key: RF-3364
>                 URL: http://jira.jboss.com/jira/browse/RF-3364
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.2.1
>         Environment: RichFaces 3.2.1.CR3
> JBoss Seam 2.0.1.GA 
> JSF 1.2 + Facelets 1.1.14
> JBoss 4.2.2.GA
> JDK 1.5.0_11
>            Reporter: Rainer Flicker
>         Assigned To: Tsikhon Kuprevich
>             Fix For: 3.2.1, 3.2.2
>
>         Attachments: DataTableAction.java, TestEntity.java
>
>
> A programmatically created dataTable shows no sort icons in the header and clicking on the header
> has no effect.
> ------ xhtml snippet --------------------------------------------------------------------------------------------------- 
>  <rich:dataTable binding="#{dataTableAction.dataTable}" var="data" />
> ----------------------------------------------------------------------------------------------------------------------------- 
> ----- faces-config.xml snippet -------------------------------------------------------------------------------------
>   <managed-bean>
>     <managed-bean-name>dataTableAction</managed-bean-name>
>     <managed-bean-class>DataTableAction</managed-bean-class>
>     <managed-bean-scope>session</managed-bean-scope>
>   </managed-bean>
> ----------------------------------------------------------------------------------------------------------------------------- 
> ---- Java class ---------------------------------------------------------------------------------------------------------
> import java.util.ArrayList;
> import java.util.List;
> import javax.el.ELContext;
> import javax.el.ExpressionFactory;
> import javax.el.ValueExpression;
> import javax.faces.application.Application;
> import javax.faces.component.html.HtmlOutputText;
> import javax.faces.context.FacesContext;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.richfaces.component.html.HtmlColumn;
> import org.richfaces.component.html.HtmlDataTable;
> public class DataTableAction {
>     private Log log = LogFactory.getLog(DataTableAction.class);
>     private HtmlDataTable dataTable = null;
>     private List<TestEntity> testData = null;
>     public HtmlDataTable getDataTable() {
>         log.info("in getDataTable()");
>         
>         if (testData == null) {
>             testData = new ArrayList<TestEntity>();
>             for (int i = 0; i < 10; i++) {
>                 TestEntity data = new TestEntity();
>                 data.setId(i);
>                 data.setName("TestEntity" + i);
>                 data.setNumber(""+i);
>                 testData.add(data);
>              }
>         }
>             
>         String[] columns = new String[] { "number", "name" };
>         String[] valueExprs = new String[] { "#{data.number}", "#{data.name}" };
>         FacesContext facesContext = FacesContext.getCurrentInstance();
>         ELContext elContext = facesContext.getELContext();
>         Application application = facesContext.getApplication();
>         ExpressionFactory elFactory = facesContext.getApplication().getExpressionFactory();
>         
>         dataTable = new HtmlDataTable();
>         dataTable.setValue(getTestData());
>         for (int i = 0; i < columns.length; i++) {
>             log.info("setting column[" + i + "]: " + columns[i]);
>             // header
>             HtmlOutputText header = new HtmlOutputText();
>             header.setValue(columns[i]);
>             // content
>             HtmlOutputText content = new HtmlOutputText();
>             ValueExpression valueExpression = elFactory.createValueExpression(
>                     elContext, valueExprs[i], String.class);
>             content.setValueExpression("value", valueExpression);
>             // column
>             HtmlColumn column = new HtmlColumn();
>             column.setId("col" + i);
>             column.setHeader(header);
>             column.getChildren().add(content);
>             column.setSortBy(valueExprs[i]);
>             column.setSortable(true);
>             column.setSelfSorted(true);
>             dataTable.getChildren().add(column);
>         }
>         return dataTable;
>     }
>     public void setDataTable(HtmlDataTable dataTable) {
>         this.dataTable = dataTable;
>     }
>     public List<TestEntity> getTestData() {
>         return testData;
>     }
>     public void setTestData(List<TestEntity> testData) {
>         this.testData = testData;
>     }
> }
> ----------------------------------------------------------------------------------------------------------------------------- 
> ---- Java class ---------------------------------------------------------------------------------------------------------
> public class TestEntity {
>     private long id;
>     private String number;
>     private String name;
>     
>     public long getId() {
>         return id;
>     }
>     public void setId(long id) {
>         this.id = id;
>     }
>     public String getNumber() {
>         return number;
>     }
>     public void setNumber(String number) {
>         this.number = number;
>     }
>     public String getName() {
>         return name;
>     }
>     public void setName(String name) {
>         this.name = name;
>     }
> }
> ----------------------------------------------------------------------------------------------------------------------------- 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list