's id tag - WARNING : do not use '-' in table ids as it's used for generating javascript code
-// headers: an associative array "label"=>"type"
+// headers: an associative array; the values can take several forms
+// simple/legacy form is "label"=>"type"
+// more advanced form is "label"=>options, it self a dict with the following known keys
+// (*) 'type': the type for sorting; this is passed to the javascript layer for custom sorting
+// default is to use 'text', custom sort functions can be specified with e.g. 'type'=>'sortAlphaNumericBottom'
+// a special case is for type to be 'date-format' like e.g. 'type'=>'date-dmy'
+// setting type to 'none' gives an non-sortable column
+// (*) 'title': if set, this is used in the "Sort on ``''" bubble
// sort_column: the column to sort on at load-time - set to negative number for no onload- sorting
// options : an associative array to override options
// - bullets1 : set to true if you want decorative bullets in column 1 (need white background)
@@ -65,7 +73,7 @@ class PlekitTable {
$this->notes_area = true;
$this->search_width = 40;
$this->pagesize = 25;
- $this->pagesize_def = 999;
+ $this->pagesize_def = 9999;
$this->max_pages = 10;
$this->notes = array();
$this->debug = false;
@@ -130,7 +138,16 @@ class PlekitTable {
if ($this->caption)
print "
$this->caption
";
print "
";
- foreach ($this->headers as $label => $type) {
+ foreach ($this->headers as $label => $colspec) {
+ // which form is being used
+ if (is_array($colspec)) {
+ $type=$colspec['type'];
+ $title=ucfirst($colspec['title']);
+ } else {
+ // simple/legacy form
+ $type=$colspec;
+ $title=NULL;
+ }
switch ($type) {
case "none" :
$class=""; break;
@@ -141,7 +158,8 @@ class PlekitTable {
default:
$class="sortable-sort" . $type; break;
}
- printf ('