\TracingFormats=2

\starttext
\unprotect
% SET VRULE: Invoked by the key "|"
\def\!tfSetVrule{%
  \!thToksEdef\!taRuleColumnTemplate={%
    \noexpand\hfil
    \noexpand\vrule
    \noexpand\!thWidth
    \ifnum \!tgCode=1
      \ifx \!tgValue\empty
        \the\LineThicknessFactor      % Default integer
      \else
        \!tgValue                     % User-specified integer
      \fi
      \!taLTU                         % \LineThicknessUnit
    \else
      \!tgValue                       % User-specified dimension
    \fi
    ####%
    \noexpand\hfil
    \the\!taRuleColumnTemplate%      % has \tabskips, when column number=0
    \ifnum\!taColumnNumber=\zerocount\else\tabskip2em\fi}%ADDED (should be configurable)
  \!tfAdjoinPriorColumn}

\def\!tfAdjoinPriorColumn{%
  \ifnum \!taColumnNumber=0
    \!taPreamble=\!taRuleColumnTemplate % New \tabskip may have been added
    \ifnum \TracingFormats>0
      \!tfShowRuleTemplate
    \fi
  \else
    \ifx\!tfRowOfWidths\empty  % no "w" keys specified yet, not even this col
    \else
      \!tfUpdateRowOfWidths
    \fi
    % Adjoin positioning glues to left and right of template
    \!thToksEdef\!taDataColumnTemplate={%
      \the \!taLeftGlue
      \the \!taDataColumnTemplate
      \the \!taRightGlue
      \tabskip\zeropoint}%ADDED
    \ifnum \TracingFormats>0
      \!tfShowTemplates
    \fi
    % Adjoin data- and rule-column templates to preamble
    \!thToksEdef\!taPreamble={%
      \the\!taPreamble
      &
      \the\!taDataColumnTemplate
      &
      \the\!taRuleColumnTemplate}
  \fi
%
% START NEW COLUMN
  \advance \!taColumnNumber 1
  % Initialize data-column template, restoring last "regular" tabskip
  % after a "once only" tabskip
  \if!taOnceOnlyTabskip
    \!thToksEdef\!taDataColumnTemplate={%
       ####\tabskip \the\!taLastRegularTabskip}
  \else
    \!taDataColumnTemplate{##}%
  \fi
  % Remaining initializations
  \!taRuleColumnTemplate{}% # is inserted by \SetVrule, or \SetAlternateVrule
  \!taLeftGlue{\hfil}%         % Default positioning is "center"
  \!taRightGlue{\hfil}%
  \!taMinimumColumnWidth=0pt
  \def\!tfWidthText{}%
  \!taOnceOnlyTabskipfalse    % Set true by key "o"
  \ReadFormatKeys}

\def\CM{\normalTABLEshortrule}

\protect



\starttable[s0|l|l|c|]
  \HL[3]
% \TABLEnoalign{\unprotect\showthe\!taPreamble\protect}
  \NC \Use3[c]{Kase-Ubersicht} \NC \AR
  \HL[2]
  \NC Kase                \NC Herkunftsland \NC Preis (Euro) \NC \AR
  \NC \CM                 \NC \CM           \NC \CM          \NC \DR
  \NC Edamer              \NC Holland       \NC 12.23        \NC \AR
  \NC Gouda               \NC Holland       \NC 9.34         \NC \AR
  \NC Emmentaler          \NC Allgau        \NC 2.34         \NC \AR
  \NC Andechser Bierkase  \NC Bayern        \NC 1.--         \NC \AR
  \HL[3]
\stoptable
\stoptext
