Thanks Malcolm for your suggestions. I tried another approach to hack into get method of the inner class "DataProvider" by adding the following statement:
realIndex = realIndex<0 ? 0 : realIndex; It looks like working but I need more test. I use DN SQL query to handle sorting and filtering. BTW, how can I contribute to the project? What procedure it is like to get privilieges and check-in changes? Thanks a lot. Jeff Malcolm Edgar-2 wrote: > > You can also set the table as sorted so it does not attempt to sort the > column. > > regards Malcolm Edgar > > On Thu, Jul 16, 2009 at 6:57 PM, Bob Schellink<[email protected]> wrote: >> Hi Jeff, >> >> The demo uses a trick to make the List size bigger than what it really >> is. This breaks the List contract though so not all List methods work >> as expected. Sorting is one of them. >> >> The real issue is that Table should not attempt to sort the list >> because it does not have access to all the rows. >> >> Since you are lazily loading the rows for the specified page you are >> also responsible to ensure the data is sorted, most probably using an >> SQL ORDER BY clause. >> >> To get around the fact that Table tries to sort the rows you can do this: >> >> public void onInit() { >> Table table = new Table() { >> >> // Override sortRowList to do nothing >> protected void sortRowList() { >> } >> } >> } >> >> Will this work for you? >> >> We should probably look at ways to make this setup easier in a future >> release. >> >> kind regards >> >> bob >> >> On 7/15/09, ljnb01 <[email protected]> wrote: >>> >>> Hi, >>> >>> I am using Click Framework deployed in Glassfish. I followed the example >>> in >>> click-examples's Large Dataset Demo, but used FormTable. >>> >>> All works OK but only if I sort the column or sometimes click next page >>> I >>> got an exception. The "Large Dataset demo" did not show a FormTable with >>> sorting features, it is simple of "table type without sorting enabled. >>> >>> So how can I fix this bug in a large dataset FormTable with sorting >>> enabled? >>> Or can it be done? Any examples? I thought this is very common for many >>> commercial apps but did not find any examples. Thanks. >>> >>> ----- Error messages ----------- >>> >>> [#|2009-07-15T16:59:06.602-0400|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=26;_ThreadName=httpSSLWorkerThread-80-0;_RequestID=39cb07ae-3250-4192-b8f2-9f4cdbc95729;|ApplicationDispatcher[/osbmui] >>> PWC1231: Servlet.service() for servlet jsp threw exception >>> java.util.NoSuchElementException >>> at java.util.AbstractList$Itr.next(AbstractList.java:350) >>> at java.util.Collections.sort(Collections.java:162) >>> at org.apache.click.control.Table.sortRowList(Table.java:1778) >>> at org.apache.click.control.Table.render(Table.java:1344) >>> at >>> org.apache.click.extras.control.FormTable.render(FormTable.java:605) >>> at >>> org.apache.click.control.AbstractControl.toString(AbstractControl.java:833) >>> at com.sun.el.lang.ELSupport.coerceToString(ELSupport.java:341) >>> at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:351) >>> at >>> com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:209) >>> >>> >>> >>> ----- >>> http://blogs.dengsoft.com/index.php/tech/ Java Technology Blog >>> -- >>> View this message in context: >>> http://n2.nabble.com/java.util.NoSuchElementException-when-using-FormTable-Sort-tp3265887p3265887.html >>> Sent from the click-user mailing list archive at Nabble.com. >>> >> >> >> -- >> http://incubator.apache.org/click/ >> > > ----- http://blogs.dengsoft.com/index.php/tech/ Java Technology Blog -- View this message in context: http://n2.nabble.com/java.util.NoSuchElementException-when-using-FormTable-Sort-tp3265887p3275433.html Sent from the click-user mailing list archive at Nabble.com.
