GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
TableMatrix::SpreadsheetHideRows(3) perl/Tk Documentation TableMatrix::SpreadsheetHideRows(3)

Tk::TableMatrix::SpreadsheetHideRows - Table Display with selectable hide/un-hide of rows

  use Tk;
  use Tk::TableMatrix::SpreadsheetHideRows

  my $t = $top->Scrolled('SpreadsheetHideRows', 
    -selectorCol => 3,
    -expandData => $hashRef,
    -rows => 21, -cols => 11, 
    -width => 6, -height => 6,
    -titlerows => 1, -titlecols => 1,
    -variable => $arrayVar,
    -selectmode => 'extended',
    -resizeborders => 'both',
    -bg => 'white',
  );

Tk::TableMatrix::SpreadsheetHideRows is a Tk::TableMatrix::Spreadsheet-derived widget that implements a Spreadsheet-like display of tabular information, where some of the rows in the table can be expanded/hidden by clicking a '+/-' selector in the row. This can be used to display top-level information in a table, while allowing the user to expand certain table rows to view detail-level information.

See demos/SpreadsheetHideRows in the source distribution for a simple example of this widget

In addition the standard Tk::TableMatrix widget options. The following options are implemented:
-selectorCol
Column number where the +/- selector will appear. Clicking on the +/- selector will expand/hide the detail information in the table for a particular row.
-selectorColWidth
Width of the column used to display the +/- selector. Defaults to 2
-expandData
Hash ref defining the detail-level data displayed when a row is expanded (by clicking the +/- selector). This hash ref should have the following structure:

  $expandData = {  
        row1 => {  tag  => 'detailDataTag',
                   data => $detailData,
                   spans=> $spanData,
                   expandData => $subLevelData
                },
        row2 => { 
           .
           .
  }
  
  Where: 
    row1, row2, ...         Row numbers that will be expandable.
    tag => 'detailDataTag'  Tag name that will be applied to the detail data.
                            (optional)
    $detailData              2D Array of detail-data to be displayed when 
                             the row is expanded.
                             e.g. [ [ r1c1, r1c2, r1c3 ],
                                    [ r2c1, r2c2, r2,c3] ]
    $spans                   1D array of span information (optional) to be 
                             used for display of the detail information.
                             e.g.  [ col2 =>  "rows,cols", col4 =>  "rows,cols", ... ]

    $subLevelData            Optional Recursive expandData used to hold detail-data of detail-data.
    

The following items are stored as member data
defaultCursor
Name of the mouse cursor pointer that is used for normal (i.e. non-title, non-indicator) cells in the widget. This is set to the value of the $widget->cget(-cursor) option when the widget is created.
indRowCols
Hash ref of Row/Cols indexes where there are indicators stores. This is a quick lookup hash built from _expandData.
_expandData
Internal version of the expandData hash. Any sub-detail data (i.e. expand data that is at lower levels of expandData) that is visible is placed at the top level of this hash, for keeping track of the visible expandData.

In addition the standard Tk::TableMatrix widget method. The following methods are implemented:

Shows (i.e. expands the table) the detail data for a given row. This method is called when a user clicks on an indicator that is not already expanded.

Usage:

 $widget->showDetail($row);  
 
 # Shows the detail data for row number $row

Hides the detail data for a given row. This method is called when a user clicks on an indicator that is already expanded.

Usage:

 $widget->hideDetail($row);  
 
 # Hides the detail data for row number $row
2022-04-07 Tk1.26

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.