Is fixed in 1.1.5

See http://issues.apache.org/jira/browse/TOMAHAWK-467

Michael

-----Original Message-----
From: Simon Kitching [mailto:[EMAIL PROTECTED] 
Sent: Dienstag, 21. November 2006 22:41
To: MyFaces Discussion
Subject: Re: datatable generate error message

Hi,

Hmm.. I'm not a tomahawk developer (at least not recently), but it sure 
looks like HtmlTableRendererBase will fail nastily if rows is ever 
greater than the number of available elements in the data-list.

I don't remember it being this way in the past though I haven't checked 
the old code. This class was significantly rewritten since the previous 
tomahawk release, introducing at least one other nasty bug (related to 
setting rowIndex).

If I'm right, then I would regard this as a bug; a rows value larger 
than the dataset really should be handled more elegantly.

I presume you've got your data stored in a ResultSet; I suggest copying 
this data into a normal list, then binding the "rows" attribute of the 
table to a method that returns max(10, companyLst.size()) and seeing if 
this works for you.

Regards,

Simon

Po Po wrote:
> Hi, 
> I use tomahawk 1.1.3, when i use a t:datatable below
>
> <t:dataTable id="data" value="#{testBean.companyList}"
> var="company" rows="10">
>   <t:column>
>     <t:outputText value="#{company.companyID}"/>
>   </t:column>
>   <t:column>
>     <t:outputText value="#{company.companyName}"/>
>   </t:column>
> </t:dataTable>
>
>
> The companyList is contain data from table in database
> (in my case, the table have 7 record).
> The problem is in the tomcat console show an error
> message like this:
>
> 11:37:47,484 ERROR HtmlTableRendererBase:243 - Row is
> not available. Rowindex = 7
> 11:37:47,484  WARN HtmlResponseWriterImpl:225 - HTML
> nesting warning on closing tbody: element tr rendered
> by component : {Component-Path : [Class:
> javax.faces.component.UIViewRoot,ViewId:
> /root/companyList.jsp][Class:
> javax.faces.component.html.HtmlForm,Id:
> mainForm][Class:
> javax.faces.component.UINamingContainer,Id:
> companyListId][Class:
> org.apache.myfaces.component.html.ext.HtmlDataTable,Id:
> data]} not explicitly closed
>
>
> Then i view the html source, it rendered like below. 
>
> ...
> <table id="mainForm:companyListId:data">
> <tbody id="mainForm:companyListId:data:tbody_element">
> <tr><td>C001</td><td>CUSTOMER ONE</td></tr>
> <tr><td>C002</td><td>CUSTOMER TWO</td></tr>
> <tr><td>C004</td><td>CUSTOMER THREE</td></tr>
> <tr><td>OW01</td><td>OWNER ONE COMPANY</td></tr>
> <tr><td>V001</td><td>VENDOR ONE</td></tr>
> <tr><td>V002</td><td>VENDOR TWO</td></tr>
> <tr><td>V004</td><td>VENDOR THREE</td></tr>
> <tr></tbody></table>
> ...
>
> in the last line, the <tr> is not close properly.
> But, when i change the value of attribute rows in
> t:datatable into a value <= 7, there is no the error
> and warn message in console. also the html table is
> render correctly.
>
> Anybody know what's wrong this?
>   





Reply via email to