Antilia's Advanced Widgets
Register

Bean Grid Public

About this demo
The same table as the JsonBasedDynamicDataTable example, a BeanBasedDynamicDataTable this time: its rows are rendered on the server by Wicket components, the way a DataTable renders them, and look and behave like the rows rendered in the browser from JSON.
  • The columns are Wicket's IColumns, here LambdaColumns. BeanSelectionColumn, BeanRowNumberColumn and BeanActionsColumn select, number and act on the rows; IFixedWidthColumn marks the columns that cannot be resized, IMovableColumn and IHideableColumn those the user can move and hide
  • Paging, sorting, filtering, saving, adding and deleting render the rows again via Ajax, not the whole table, so the filter in front of the navigation keeps its focus
  • The actions of a row are the same IconBasedRowActions as in the JSON example: plain markup whose clicks the table dispatches by the row's key, so a click on a user deleted in another tab still reaches the table
  • The settings above are the same as in the JSON example, each explained by its (i). Every change is posted via Ajax
  • The navigation tells how many users are selected, a SelectionCountToolbarAction, and the rows per page are chosen with the same Dropdown as the settings. "Reset the columns" is an AjaxActionButton; there is no web socket connection and no pushing of rows here
Whether the user can resize the columns by dragging the right edge of a header. The table has a ResizableColumnsBehavior then and grows as a column does; the selection, #, Actions and ID columns cannot be resized.
Whether the table is as wide as its columns or takes the full width of the page, following the size of the window until a column is resized.
Whether the columns share the width by their content or by proportions the page sets.
Where the paging links, the rows per page and the actions on the whole table are shown: above the headers, below the rows or both.
How many users can be selected: none hides the selection column, one keeps a single row selected, many selects any number of rows and offers to select all of them.
Whether the navigation tells how many users are selected, such as "2 selected", next to its actions: a SelectionCountToolbarAction added to the table, turned on and off here.
Where the bar offering to select every user is shown, once every row of the page is selected.
The unit of the height of the body. Choosing one sets the height to 800 pixels, or to 100 percent of the parent's or the window's height. Percent of the parent gives the table a parent 600 pixels high.
The height of the rows between the headers and the footer, in the unit above. Only the rows scroll; a negative height lets the body take the height of its rows.
Where the edit form and the delete confirmation are shown: over the table only, or over the whole page.
Which icons the actions show: the ones built into ui-components, the Font Awesome icons as inline SVG, or the same icons drawn by the Font Awesome font.
Where the order, visibility and widths of the columns are kept: in the session, or in a file of the temporary directory that survives restarts of the server.
#
Actions
ID
Address
Phones
198AlbaRossi1998-06-29175 Elm Street, Bilbao, SpainHome: 890-555-4002Cell: 290-555-1932
2114AlbaFontana1992-08-2786 Bridge Street, Salto, UruguayHome: 548-555-6075Cell: 475-555-1000
3167AlbaRossi1999-04-12222 Harbour Road, Curitiba, BrazilHome: 619-555-1958Cell: 949-555-9934
4198AlbaCosta1967-04-18244 Harbour Road, Nantes, FranceHome: 619-555-8473Cell: 267-555-6935
5216AlbaAlvarez1967-08-19120 Mill Lane, Sendai, JapanHome: 409-555-5451Cell: 262-555-8681
6236AlbaBecker1956-11-12166 Elm Street, Bristol, United KingdomHome: 646-555-2734Cell: 629-555-5265
7248AlbaNovak1992-03-287 Station Square, Bologna, ItalyHome: 749-555-8775Cell: 529-555-9220
8256AlbaPetrov1957-09-123 Orchard Way, Salto, UruguayHome: 681-555-0174Cell: 313-555-1201
9316AlbaYilmaz1986-01-10142 Garden Walk, Bologna, ItalyHome: 726-555-5109Cell: 906-555-8065
10318AlbaWeber1967-07-31143 Station Square, Bologna, ItalyHome: 747-555-9028Cell: 938-555-1659
11348AlbaIvanova1996-07-09198 Harbour Road, Rosario, ArgentinaHome: 438-555-9918Cell: 505-555-3482
12369AlbaWeber1973-03-20286 Station Square, Halifax, CanadaHome: 479-555-5233Cell: 768-555-7813
13386AlbaZimmermann1971-09-05207 Mill Lane, Bergen, NorwayHome: 383-555-8577Cell: 862-555-6577
14387AlbaNovak1974-10-02282 Station Square, Austin, United StatesHome: 861-555-5590Cell: 363-555-1257
15429AlbaAlvarez1977-08-17116 Mill Lane, Austin, United StatesHome: 361-555-0292Cell: 780-555-2468
16435AlbaZimmermann1997-01-01142 Bridge Street, Bristol, United KingdomHome: 949-555-8771Cell: 378-555-7764
17453AlbaPetrov1967-02-07201 Harbour Road, Bilbao, SpainHome: 388-555-8514Cell: 310-555-6261
18483AlbaGarcia1985-03-09284 Castle Hill, Nantes, FranceHome: 212-555-3199Cell: 298-555-7030
19557AlbaYilmaz1965-08-2639 Garden Walk, Bergen, NorwayHome: 858-555-8841Cell: 219-555-1056
20618AlbaHoffmann1992-01-30270 Elm Street, Sendai, JapanHome: 247-555-6868Cell: 731-555-8483
21693AlbaKowalski1992-11-22214 Mill Lane, Austin, United StatesHome: 551-555-9738Cell: 666-555-4400
22722AlbaWeber1980-03-25172 Castle Hill, Bilbao, SpainHome: 772-555-1441Cell: 738-555-3775
23750AlbaRossi1955-04-26103 Castle Hill, Bilbao, SpainHome: 670-555-2657Cell: 738-555-9710
24766AlbaGarcia1987-10-233 Castle Hill, Nantes, FranceHome: 724-555-5483Cell: 569-555-6668
25795AlbaLindqvist1951-03-21175 Elm Street, Bilbao, SpainHome: 779-555-0061Cell: 731-555-7018