DataTable does not appear to have a setting to display all rows, regardless how many.  If that's what I want, would I simply set the number of rows each time to the number of rows in my DataProvider (or to a ridiculously large number) and omit the NavigationHeader?


you got it. DataTable.setRowsPerPage(Integer.MAX_VALUE) will do the trick.
 

By the way, I have another question that is not directly related to Wicket, but perhaps someone could direct me to where I might search for the answer.  Has anyone designed or used a system of classes that represent a SQL SELECT string?  I'm thinking of something with more structure than a java.lang.String, say, an object which contains references to table objects being joined, a collection of column objects based on those tables to select or de-select, a list of WHERE contraints, a list of ORDER-BY constraints, etc.  It seems to me that it would be more natural to program to such a model (and simply call ".toString()" before going to the database), rather than doing string manipulations by hand.  That way, I my code wouldn't have to distinguish between the first occurrence of an item and additional occurrences (e.g. to decide whether a condition should be preceded by "WHERE" versus a comma; or whether a sort variable should be preceded by "ORDER BY" versus a comma).  One might think of this as a programming API to the functionality provided by in an interactive database query-building tool.  Does anyone provide reusable components like this?

this is a pretty complicated venture. its easy enough for simple queries, but when you get into joins, aliases, projections, etc, it gets complex fast.

you might want to have a look at hibernate's criteria api, it does a fairly nice job of wrapping sql.

-Igor

Reply via email to