myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexandre Jaquet <a.jaq...@avintis.com>
Subject Re: Tomahawk DataTable - HOW TO
Date Fri, 23 Jun 2006 05:34:15 GMT
Hi Tom,

I encounter some trouble to, if you find the way please post back a 
working example.Then we can have a simple working tutorial.
Regards.

Alexandre Jaquet

Tom Innes wrote:
>
> We are trying to use Tomahawk datatable and datascroller with command 
> links in the list.  We also want each column to be sortable.  For 
> example a List of Countries that have Country Codes and Country Names.
>
>  
>
> We have tried various things and have something that comes close.  The 
> issue we have left is that if you edit a Country on another Page say 
> page 2 and save that country we lose the page that the user was on.
>
>  
>
> Here is some code snippets from what we are doing.  We are using 
> tomahawk 1.1.3
>
>  
>
> <h:panelGroup id="countryListBody">
>
>                   <t:dataTable id="countryListData"
>
>                         styleClass="scrollerTable"
>
>                         headerClass="standardTable_Header"
>
>                         footerClass="standardTable_Header"
>
>                         rowClasses="standardTable_Row1,standardTable_Row1"
>
>                         
> columnClasses="standardTable_Column,standardTable_Column,standardTable_Column"
>
>                         var="countryRow"
>
>                         
> value="#{countryQBEController.listController.dataModel}"
>
>                         rows="10"
>
>                               
> sortColumn="#{countryQBEController.listController.sortColumn}"
>
>                               
> sortAscending="#{countryQBEController.listController.ascending}"
>
>                               preserveSort="true"
>
>                         >
>
>  
>
>                               <t:column sortable="true">
>
>                               <f:facet name="header">
>
>                                  <h:outputText value= "Country Code"/>
>
>                               </f:facet>
>
>                                     <h:outputText 
> value="#{countryRow.countryCode}" />
>
>                               </t:column>
>
>  
>
>                               <t:column sortable="true">
>
>                            <f:facet name="header">
>
>                                  <h:outputText value= "Country Name"/>
>
>                              </f:facet>
>
>                            <h:outputText value="#{countryRow.name}" />
>
>                         </t:column>
>
>                        
>
>                               <t:column sortable="false">
>
>                            <f:facet name="header">
>
>                             <h:outputText value="Edit" />
>
>                              </f:facet>
>
>                                  <t:commandLink 
> action="#{countryFormController.action.edit}" id="editLink" value="Edit"/>
>
>                         </t:column>
>
>                                    
>
>                     
>
>                       </t:dataTable>
>
>  
>
>            
>
>  
>
>                      
>
>                   <h:panelGrid columns="1" styleClass="scrollerTable2" 
> columnClasses="standardTable_Column" >
>
>                         <t:dataScroller id="scroll_1"
>
>                             for="countryListData"
>
>                             fastStep="10"
>
>                             pageCountVar="pageCount"
>
>                             pageIndexVar="pageIndex"
>
>                             styleClass="scroller"
>
>                             paginator="true"
>
>                             paginatorMaxPages="9"
>
>                             paginatorTableClass="paginator"
>
>                             
> paginatorActiveColumnStyle="font-weight:bold;" >
>
>                                           <f:facet name="first" >
>
>                                     <t:graphicImage 
> url="/images/arrow-first.gif" border="1" />
>
>                                     </f:facet>
>
>                             <f:facet name="last">
>
>                                     <t:graphicImage 
> url="/images/arrow-last.gif" border="1" />
>
>                             </f:facet>
>
>                                   <f:facet name="previous">
>
>                                     <t:graphicImage 
> url="/images/arrow-previous.gif" border="1" />
>
>                               </f:facet>
>
>                               <f:facet name="next">
>
>                                     <t:graphicImage 
> url="/images/arrow-next.gif" border="1" />
>
>                               </f:facet>
>
>                               <f:facet name="fastforward">
>
>                                     <t:graphicImage 
> url="/images/arrow-ff.gif" border="1" />
>
>                               </f:facet>
>
>                               <f:facet name="fastrewind">
>
>                                     <t:graphicImage 
> url="/images/arrow-fr.gif" border="1" />
>
>                               </f:facet>
>
>                         </t:dataScroller>
>
>                               <t:dataScroller id="scroll_2"
>
>                                for="countryListData"
>
>                               pageCountVar="pageCount"
>
>                               pageIndexVar="pageIndex"
>
>                               >
>
>                               <h:outputFormat value="Page {0} of {1}" 
> styleClass="standard" >
>
>                                      <f:param value="#{pageIndex}" />
>
>                                <f:param value="#{pageCount}" />
>
>                               </h:outputFormat>
>
>                         </t:dataScroller>
>
>  
>
>                   </h:panelGrid>
>
>                       
>
>  
>
>                         </h:panelGroup>
>
>  
>
>  
>
> Some things we have noticed that lead us to believe we are doing 
> something wrong.
>
>  
>
>    1. If you specify preserveDataModel = "true" on the datatable we
>       will get a stack trace
>
> _java.lang.IllegalArgumentException_: row is unavailable
>
> _After re_-peated Paging and Clicking on the Comand Link to Edit the Row
>
> _As well Editting Edits the wrong Record_
>
>  
>
>    2. The examples we  have suggest the  sortColumn and sortAscending
>       properties need to be specified on the data table and stored in
>       a  backing bean and yet they appear to not be required.  Just
>       saying sortable="true" on the  t:column works.  Is this the
>       intended behaviour?
>    3. If we set the value on the datatable directly to a Results List
>       instead of the DataModel then the Command Links don't work. (
>       Always Edits First Row in the List)
>    4. If in our backing bean we don't have a SetDataModel we get a
>       stack trace.  If we code the setter and have it set the
>       DataModel then paging doesn't work.  Right now we have the
>       method, but it does nothing. 
>
>  
>
>  
>
> If anybody could advise how the datatable and datascroller should be 
> configured to work with sorting, command links in the list and paging 
> it would be appreciated. 
>
>  
>
> Also the Tomahawk examples at irian don't contain an example with all 
> these features enabled so we are unclear how we can implement these 
> features.
>
>  
>


Mime
View raw message