I have written a custom scroll bar in java before connected to a custom table. Both components were rendered using the paint() method of java (if my memory serves me right). The completed solution was a comprehensive scrolling table with background data buffer similar to the Swing table component that was release 6 months later :) (Mine is still faster but does not have fancy cell renderers and editors)
In developing the scroll bar, data fetching and event firing you may want to consider the following: - (Total number of items to be scrolled) * (Height of each row in table) = (Total height of all rows) -- Note here that we assume each row has the same height. - Height of table - Height of scroll bar - Length of scroll bar knob - Position of knob - If you want smooth scrolling or one row at a time - If you want to animate the smoothes scrolling when the scrollbar buttons are clicked or one row at a time (taking care that one click scrolls one or a multiple of rows without the table floating away by one pixel at a time - this can be tricky to write if we have a small scroll bar and lots of data (you may not be able to re-position the scroll bar as it may be less than one pixel but when the user click on the scroll bar you don't want the table to jump back)) - As you are scrolling how often do you fire events to the backend data provider (giving hints to speed of scrolling to determine how many rows to fetch) - Do you show empty rows if user scrolled past data while data is loading or do you jerk the scrolling - Do you allow clicking on scroll bar track to jump table and if you do, do you do the jump after or before data is loaded - When the table is resized you may need to fire data fetch events - You may want the user to be able to provide hints on how many rows to pre-fetch initially and with each subsequent fetch based on the nature of the data and speed of communication - You may want to completely separate the QxListView (and future similar widgets) from an object that fetches, stores and sorts data - Keep in mind that table sorting will no longer work without having to go back to server and have the server sort the data or loading all data. Then there is the question if you reset the scroll bar to the top when the new data arrives. How is that handled if the user has one or multiple rows selected and wants to keep the selection in a new soft context. I hope this helps as a start. Christoph -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Volker Pauli Sent: Thursday, March 30, 2006 3:52 AM To: [email protected] Subject: Re: AW: [qooxdoo-devel] QxListView and AJAX Hi, We're interested too in such a solution to dynamicaly expand the entries of a list-view. For example it makes it possible to load the, let's say, first 20 mails of a mailbox folder and get the next 20 and more when the user scrolls down the list. Lars Jankowfsky schrieb: > Sebastian, > > Thnx for you hint. I discussed this with my developers and I think we > will implement this. >>From what I can see we need general "onScroll" Events not only for the IMHO it's the best way every scrollbar on every object fires a "onScroll" event. So a common solution sounds like well. > scrollbar, but also when you scroll by cursor in list down/up. > Furthermore But you're right if you say a list view needs a more complex handling in case of scrolling by cursor. But what's about other widgets like trees? A dynamic addition of elements in case of scrolling will be fine too. What do you think? > we need possibility to set scrollbar params like Position of Bar, Nr. > ot Items - even if these items are not really in the list. What do you mean with "number of items" in the context of the scrollbar? > > Please tell me if I am wrong or I missed something. I am not really a > good Jscript programmer - I only want to gather all information and > todo's before I hand it over to my staff. > > Any comments ? See above ;-) Greetings from Munich Volker > > lars > > >>-----Ursprüngliche Nachricht----- >>Von: [EMAIL PROTECTED] >>[mailto:[EMAIL PROTECTED] Im Auftrag von >>Sebastian Werner >>Gesendet: Mittwoch, 29. März 2006 21:33 >>An: [email protected] >>Betreff: Re: [qooxdoo-devel] QxListView and AJAX >> >>Lars Jankowfsky schrieb: >> >>>Hoi folks, >>> >>>I am currently evaluation qooxdoo framework and I must say >> >>that I am >> >>>really impressed. >>>Pretty good work :) - it looks and works quite good. The only thing >>>what is lacking ( but I think this is natural ) is documentation. >>>Therefore I need to ask a question - I searched the whole >> >>archive but did not find anything. >> >>>Currently I am trying to link QxListView to reload dynamically via >>>AJAX. For this purpose I am searching for the events when we scroll >>>down or up in list >>>- or move scrollbar. In list I could work with >> >>changeSelection but on >> >>>scrollbar I obviously can't. >>> >>>Could you give me a small hint into the right direction ? >> >>What event >> >>>to use, or maybe there is even a demo somewhere ? I looked >> >>through the >> >>>examples and tests but all RPC calls are somehow not very >> >>good documented. >> >>>Here - >> >>http://qooxdoo.oss.schlund.de/documentation/event-system - is >> >>>nothing documented concerning scroll events. >> >>Sorry, but there isn't any event. Also I don't know about any existing >>example. You could take a look at QxListViewPane.js. >>This contains the implementation of the whole scrolling and content >>update stuff there. >>Yes, you will need some time to understand the code I think. >>But maybe you can share your appearances with us. Also any patches for >>this or related files are really appreciated if they help other to >>realize your described stuff, too. >> >> >>>BTW nice tripfall to have "QxXmlHttpLoader" in datahandling >> >>demo ;) - >> >>>here in mailinglist I found by accident that this function is being >>>removed and that I should use QxGetRequest - if there is >> >>time I think >> >>>you should change at least this demo :) >> >>We have removed these demos already from SVN. >> >> >>>I would be happy to share my demo and to submit the code >> >>when it works >> >>>to help others as I could imagine that this question will >> >>shop up quite often. >> >>That would be great. >> >>Thanks. >> >>Sebastian >> >> >>>Greetings from the black forest, >>> >>>Lars Jankowfsky >>>Techn. Direktor / CTO >>>Zend Certified Engineer >>>OXID eSales GmbH >>> >>>[EMAIL PROTECTED] >>> >>>OXID eSales GmbH | Bertoldstrasse 48 | D-79098 Freiburg Fon >>>+49(0)761-36889-12 | Fax +49(0)761-36889-29 >>> >>>www.oxid-esales.com | Erfolgreich verkaufen im Internet! >>> >>>openBC - We're Networking People >>>www.openbc.com/hp/Lars_Jankowfsky >>> >>> >>> >>>------------------------------------------------------- >>>This SF.Net email is sponsored by xPML, a groundbreaking scripting >>>language that extends applications into web and mobile >> >>media. Attend >> >>>the live webcast and join the prime developer group >> >>breaking into this new coding territory! >> >>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=1216 >> >>>42 _______________________________________________ >>>Qooxdoo-devel mailing list >>>[email protected] >>>https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >> >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by xPML, a groundbreaking scripting >>language that extends applications into web and mobile media. Attend >>the live webcast and join the prime developer group breaking into this >>new coding territory! >>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720& >>dat=121642 >>_______________________________________________ >>Qooxdoo-devel mailing list >>[email protected] >>https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >> >> > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language that extends applications into web and mobile media. Attend > the live webcast and join the prime developer group breaking into this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=k&kid0944&bid$1720&dat1642 > _______________________________________________ > Qooxdoo-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel -- Volker Pauli Teamleiter Webdevelopment GMX GmbH Frankfurter Ring 129, D - 80807 München Telefon +49 89 14 339-587, Telefax +49 89 14 339-104 [EMAIL PROTECTED] www.gmx.de ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ Qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
