TWiki> WebXEO Web>XeoXwc>GridPanel (revision 7)EditAttach
Tags:
create new tag
, view all tags
-- PedroRio - 20 Apr 2010

GridPanel

A GridPanel is a XVW component that's used to display (in a tabular form) a list of items (provided by a data source). It provides built-in mechanisms to sort, group the data, etc. The items in a GridPanel are paginated by default (50 items per page)

Items in the table can be selected and clicked which can in turn trigger specific actions (such as opening a new window when double clicking a given row in the table)

A GridPanel should be used inside a Panel component.

XML Definition

A GridPanel is declared as following:

<xvw:gridPanel 
 datasource="#{viewBean.dataSource}"
 ...
 otherAttributes
 ...
>
</xvw:gridPanel>

Component from which the Grid Panel Extends

  • None

Components that Extend Grid Panel

GridPanel Properties

Property Description Requirement Default Value Type Example
dataSource The list of items for the GridPanel required - DataListConnector This property must be binded to the Bean and must return an implementation of the DataList connector. There are aready two default implementations. The XEOObjectListConnector and the XEOBridgeListConnector.
autoExpandColumn The column that will auto expand to fill available space optional - String / EL autoExpandColumn='NAME_OF_COLUMN_IN_GRID_PANEL'
pageSize The number of items that are listed in the table (next items are shown in a differente page) optional 50 Integer pageSize='10' -> 10 items per page
rowSelectionMode Determines how a user can select the rows in the grid panel. Default (ROW) allows the user to select a single row; (MULTI_ROW) allows the user to select multiple row and CELL disables row selection. Users select multiple lines with the Ctrl button optional ROW Enum (ROW, MULTI_ROW, CELL) rowSelectionMode='CELL'
rowDblClickTarget The target for the action invoked when a row is double clicked optional tab Enum (self, tab, download, window)  
onRowDoubleClick Defines the event handler that listens and acts when a row of the GridPanel is doubled clicked. optional   EL *Note: It needs to be declared when using rowDblClickTarget
groupBy Groups the results by a given column optional - The name of a column of the GridPanel

groupBy='NAME_OF_COLUMN_IN_GRID_PANEL'

enableGroupBy="true" has to be declared

enableGroupBy Whether or not the results in this GridPanel can be grouped (only single column groups can be made at this point) optional false Boolean enableGroupBy='true'
onSelectionChange Allows the definition of an action when a row is selected optional   EL  
rowClickTarget The target for the action invoked when a row is clicked optional   Enum(self, tab, download, window)  
onRowClick Defines the event handler that listens and acts when a row of the GridPanel is clicked. optional   EL *Note: It needs to be declared when using rowClickTarget
enableHeaderMenu Defines whether or not the header menu appears in the GridPanel. The Header Menu is situated on the top part of the GridPanel and it hosts the Title. optional true Boolean  
enableColumnResize Defines whether or not the columns may be resized or just kept at a constant size during runtime optional true Boolean  
enableColumnMove Enables the user to switch the place where the column is placed with drag and drop. If set to false then the columns are stationary. optional true Boolean  
enableColumnHide Enables the columns to be hidden or not optional true Boolean  
enableColumnFilter COMPLETE optional true Boolean  
enableColumnSort Defines if the columns may be sort. If set to false then that column may not be sorted. optional true Boolean  
enableGroupBy Defines if the columns may be grouped or not. optional false Boolean *Note: Has to be set to true if groupBy tag is defined
autoHeight Allows the GridPanel to resize to the space required to show all the data. optional false Boolean  
height Allows to manually define the height of the GridPanel optional 250 Integer  
title Defines the title of the GridPanel optional   String  
sActiveRow COMPLETE optional   String  
forceColumnsFitWidth Forces the columns to fit the current available space in the viewer where the GridPanel is defined optional true Boolean  

Possible Child Components:

  • ColumnAttribute (to choose which columns should appear in the table)
  • GridNavBar (to choose if a given number of options should be present in the bottom navigational bar of the GridPanel)
  • ToolBar (Each GridPanel has a default toolbar wich can be overriden)

Property DataSource:

XEOObjectListConnector: The XEOObjectListConnector receives a boObjectList as an argument of the contructor and can be used to incorporate any list of boObjects in the GridPanel

XEOBridgeListConnector: The XEOBridgeListConnector receives a bridgeHandler as an argument of the constructor and can be used to display a bridge of objects in the GridPanel.

Example: Imagine that we want to display all instances of the system model "Ebo_Perf" in a given GridPanel, the dataSource property of the Bean could be a method like this:

public DataListConnector getDataSource()
{
      String boql = 'select Ebo_Perf';
      boObjectList listOfUsers = boObjectList.list(getEboContext(), boql);
      return new XEOObjectListConnector(listOfUsers);
}

To Continue:

Edit | Attach | Print version | History: r23 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 2010-08-31 - JoaoQuintas
 

No permission to view TWiki.WebTopBar

This site is powered by the TWiki collaboration platform Powered by Perl

No permission to view TWiki.WebBottomBar