% # options example... % # % # #listrefs... % # 'header' => [ '#', 'Item' ], % # 'fields' => [ % # 'column', % # sub { my ($row,$param) = @_; $param->{"column$row"}; }, % # ], % # 'sizes' => [], # sizes ignored for immutable % # 'types' => ['immutable', ''], # immutable or ''/text % # 'param' => { column0 => 1 }, # preset column of row 0 to 1 % #
Cust # | Customer | % foreach my $header ( @{$opt{header}} ) {<% $header %> | % }
---|---|---|
" rownum="<% $row %>"> | " rownum="<% $row %>"> | % my $col = 0; % foreach my $field ( @{$opt{fields}} ) { % my $value; % if ( ref($field) eq 'CODE' ) { % $value = &{$field}($row,$param); % } else { % $value = $param->{"$field$row"}; % } % my $name = (ref($field) eq 'CODE') ? "column${col}_$row" : "$field$row"; % my $size = $sizes->[$col] || 10;% if (! $types->[$col] || $types->[$col] eq 'text') { % } elsif ($types->[$col] eq 'immutable') { <% $value %> % } else { Cannot represent unknown type: <% $types->[$col] %> % } | % $col++; % }