24 lines
922 B
Plaintext
24 lines
922 B
Plaintext
HeadedGrid[
|
|
finalSpacings:{_Integer,_Integer},
|
|
finalBorderWidths:{{_Integer,_Integer},{_Integer,_Integer}},
|
|
finalOptions_Association,
|
|
headerCellGridder_Function,
|
|
rawHeaders:{__String},
|
|
dataCellGridder_Function,
|
|
rawData:{__String}]:=
|
|
With[
|
|
{finalDims={Ceiling[(Length@rawData+Length@rawHeaders)/Length@rawHeaders],Length@rawHeaders},
|
|
headerCells=headerCellGridder/@List/@List/@Characters[rawHeaders],
|
|
dataCells=dataCellGridder/@List/@List/@Characters[rawData]},
|
|
DataGrid[finalDims,finalSpacings,finalBorderWidths,finalOptions,Join[headerCells,dataCells]]];
|
|
|
|
(*An example with a few decorations:*)
|
|
HeadedGrid[
|
|
{1,1},
|
|
{{1,1},{1,1}},
|
|
<|"dividers"->{"-","|","+"},"border"->"*"|>,
|
|
DataGrid[{3},{6},{0,0},{{0,0},{0,0}},<|"background"->"-"|>,#]&,
|
|
{"Su","Mo","Tu","We","Th","Fr","Sa"},
|
|
DataGrid[{3},{4},{0,0},{{0,0},{0,0}},<|"alignment"->{-1,1}|>,#]&,
|
|
ToString/@Range[31]]//AsString
|