This component draws an HTML table based on the contents
of a query.
The data for the table can come from a pre-built class query, an SQL statement, or the tablePane can create an SQL query automatically.
The properties of the
Many of the characteristics of the tablePane are inherited from its superclass,
If set, this indicates that this system component should be placed in the given "module". A module is a grouping of components within the same class package that share common include (js or css) files. Note that certain root classes are implicitly placed within the "core" module.
Classes outside of the Zen library should not set this, they should use the
If true (the default), automatically re-execute the query for this table when the user changes the value of a column filter. property bodyHeight as
If false, the query will only be re-executed when the
If present, this specifies the height of the body section of the table. property caption as
Caption displayed for this table using the HTML caption element. property cellSpacing as
This is a localized value.
Amount of spacing around cells in the table. The default is 0 (no extra space around table cells). For a slight but noticeable separation, a useful value is 2. property clearSnapshot as
Client-side, run-time flag that is set when client wants to force re-execution of the table query when the table is in "snapshot" mode. property columns as list of
List of column information objects. property conditions as list of
Each object specifies additional details about a column in the table.
A list of conditions. These are special expression objects that are evaluated to add data-dependent styles to the table. property currColumn as
This is the logical name of the most recently selected column header. Typically this is used for sorting. property currPage as
For snapshot mode, this is the number (1-based) of the current "page" within the snapshot that is displayed. property dataSource as
Specifies where the data columns of the table come from. property extraColumnWidth as
"query" (the default)- columns are displayed for each column in the data source query.
"columns" - only columns explicitly defined in the
columnslist are displayed.
Width used for extra columns, such as row number, row selector, etc. property filtersDisabled as
If true, disable column filters (if any). property fixedHeaders as
If true, then the header of the table will stay in position when the body of the table is scrolled. property headerLayout as
This property controls how to display the table header when column filters are used. property invalidMessage as
- "filtersOnTop" - (the default) Display column filters above column headers.
- "headersOnTop" - Display column headers above filters.
Localized "invalid date" message displayed by control. property lastUpdate as
Time, in ODBC timestamp format, that the query for this table was last executed. This is set on the server whenever the query is for the tablePane is executed. property msgNoResult as
IE does not support CSS nowrap correctly so this flag provides a way to control whether table cells allow word wrapping or not. property onheaderClick as
onheaderClick event handler: This event is fired when the user clicks on a column header. The name of the column will be in the property onkeypress as
onkeypress event handler: If property pageSize as
useKeysis true, then this event handler code is run when the user presses a key within the tablePane.
This is the number of items to display on a single "page" of the table. 0, the default, means show all data on first page. This can only be set to a non-zero value when the table is in snapshot mode. property parameters as list of
User-defined list of parameters. These values are passed on to the user callback function that provides the query for this table. property permitClientSQL as
Flag for backwards compatibility. If property refreshRequired as
This property should be set to 1 by server-side methods that want to force the query associate with the tablePane to be re-executed. property rowCount as
If present, this is the number of rows returned by the current query. This is calculated by the built-in query or the automatic query. property showFilters as
Note: this is a string as it could be set to "" or "100+".
If true, display column filters (if any). property showQuery as
Server-side diagnostic flag. If true, display the query used to get data for this table. property showValueInTooltip as
This is an encrypted value and cannot be set on the client.
If true, then the tooltip (HTML title attribute) displayed for cells within the table will display the current value of the cell. property sortOrder as
For sortable tables, this is the order to sort values within the current column. Values can be "", "asc" (ascending), or "desc" (descending). property suppressExceptionOnClientSQL as
Flag for less intrusive remedial action when Client-side SQL modification is forbidden. If property unlockSession as
permitClientSQLis set to false (the default), this flag controls the rendering of the table if client side modification of the query parameters is detected. By default, a Zen Exception will be raised, warning of the security risk. If this flag is set to true, however, the exception will be suppressed and the table will re-render using the last known (server-side) values for the query parameters. In this case the client-side modifications are simply ignored. The default value is "false" indicating that the exception should be raised.
Flag to control whether session is unlocked during updates to the table. property useKeys as
If true, then the tablePane will capture user keystrokes and use them for simple table navigation. property useSnapshot as
If true, create a temporary snapshot of the query results. This allows for paging and sorting without re-executing the query. property valueColumn as
If defined, this is the name of the data column that provides a logical value for a selected row.
Add a new column definition to this tablePane. If pColumn is not provided, this method will create a new column object. method %AddParameter(pParm As
Add a new parameter definition to this tablePane. If pParm is not provided, this method will create a new parameter object. method %CreateSnapshot(pTempID As
Create a temporary snapshot file from a result set. Assumes that result set has been created and executed. Users should not call this method. method %DrawCell(pMethod As
Invoke user method to provide contents for a cell method %DrawFilter(pMethod As
Invoke user method to provide contents for a column filter. method %DrawHTML()
Draw innerHTML for this component (without enclosing div). method %DrawTable(pRS As
Draw the table. classmethod %IsTypeNumeric(pType As
Tests if a column type is a numeric type. Zen uses the CLIENTDATATYPE value, not ODBCTYPE. Client types are defined as: Returns the type of column n in the result set where type is an integer associated with the client datatype. If the type cannot be determined, 0 (zero) is returned. method %OnAddToPageAfter() as
1 BINARY 2 DATE 3 DOUBLE 4 HANDLE 5 INTEGER 6 LIST 7 LONGVARCHAR 8 TIME 9 TIMESTAMP 10 VARCHAR 11 STATUS 12 BINARYSTREAM 13 CHARACTERSTREAM 14 NUMERIC 15 CURRENCY 16 BOOLEAN 17 OID 18 BIGINT 19 FDATE 20 FTIMESTAMP
If implemented, this callback method is called at page render-time after this component has been added to a page and after any of its children have been created but before the %DrawHTML methods are called. method %OnZENDeserialize() as
This callback is invoked by the %ZENDeserialize method. method %ResetQuery() as
Fetch data from snapshot global and package up as a client object. pIndex is index of client component.
pID is internal ID of snapshot global.
pRow is row number to fetch.
executeQuerymethod after calling this to update the table.
If remember is true, then the table will stay on the same page after the new results are displayed. If sync is defined and is true, the refresh will be executed synchronously (unless we are in deferred mode).
refresh indicates if the query should be re-executed.
type (optional) is type of filter.
index (optional) is control index for filters with multiple controls.
This is a client-side only call and can query only the values of the current page of the current table. The full, logical contents of the table (in snapshot mode) resides at the server and logical rows may be accessed using getRowData()
If there are not data columns to report or if the requested row is greater than the page size for the table, this function returns null.
For non-snapshot tables or out of range row numbers, returns null.
popupName is the name of the popup window sending the action.
action is the name of the action.
value is the value associated with the action.
Process key press event within the table's invisible edit control.