- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::xo::Table
::xo::Tablecreate ... \
[ -name name ] \
[ -no_data (default "#xotcl-core.No_Data#") ] \
[ -renderer (default "TABLE3") ]
Defined in
Class Relations
- class: ::xotcl::Class
- superclass: ::xo::OrderedComposite
- subclass: ::TableWidget
, ::xowiki::YUIDataTable
, ::xowiki::BootstrapTable
::xotcl::Class create ::xo::Table \ -superclass ::xo::OrderedCompositeMethods (to be applied on instances)
__bulkactions (scripted)
set M [OrderedComposite create [self]::__bulkactions] namespace eval $M [list namespace import -force [self class]::*] $M contains $cmdactions (scripted)
set M [OrderedComposite create [self]::__actions] namespace eval $M [list namespace import -force [self class]::*] $M contains $cmdcolumn_names (scripted, public)
<instance of xo::Table> column_names
Return a list of names of the columns of the current table. These names are used to refer to the columns, e.g. in sorting or when values are set.
- Returns:
- list of names
- Testcases:
- create_form_with_form_instance
set names {} foreach c [[[self]::__columns] children] { lappend names [$c name] } return $namescolumns (scripted)
set M [OrderedComposite create [self]::__columns] namespace eval $M [list namespace import -force [self class]::*] $M contains $cmd set slots [list] foreach c [$M children] { lappend slots {*}[$c get-slots] } :proc add $slots { set __self [::xo::Table::Line new] foreach __v [info vars] {$__self set $__v [set $__v]} next $__self }destroy (scripted)
#:log "-- " foreach c {__bulkactions __actions __columns} { #:log "-- namespace eval [self]::$c {namespace forget *}" namespace eval [self]::$c {namespace forget *} } nextformat_csv (scripted)
set output "" set line [list] set displayColumns [lmap column [[self]::__columns children] { if {[$column exists no_csv]} continue if {[$column istype ::xo::Table::BulkAction]} continue if {[$column istype ::xo::Table::HiddenField]} continue set column }] foreach column $displayColumns { set label [$column label] if {[regexp {^#([a-zA-Z0-9_:-]+\.[a-zA-Z0-9_:-]+)#$} $label _ message_key]} { set label [_ $message_key] } set value [string map {\" \\\" \n \r} $label] lappend line \"$value\" } append output [join $line $delimiter] \n foreach row [:children] { set line [list] foreach column $displayColumns { set value [string map {\" \\\" \n \r} [$row set [$column set name]]] lappend line \"$value\" } append output [join $line $delimiter] \n } return $outputname (setter)
no_data (setter)
render_with (scripted)
#:log "-- renderer=$renderer" set cl [self class] :mixin ${cl}::$renderer foreach child [$cl info classchildren] { #:log "-- $child class [$child info class] " set mixinname ${cl}::${renderer}::[namespace tail $child] if {[::xotcl::Object isclass $mixinname]} { #if {![$child istype ::xo::OrderedComposite::Child]} continue $child instmixin $mixinname if {$trn_mixin ne ""} {$child instmixin add $trn_mixin} #:log "-- $child using instmixin <[$child info instmixin]>" } else { #:log "-- no mixin $mixinname" } } Table::Line instmixin $trn_mixin :init_rendererrenderer (setter)
write_csv (scripted)
if {![info exists :name]} { set :name "table" } set fn [xo::backslash_escape \" ${:name}.csv] ns_set put [ns_conn outputheaders] Content-Disposition "attachment;filename=\"$fn\"" ns_return 200 "text/csv; charset=utf-8" [:format_csv -delimiter $delimiter] ad_script_abort
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables