An improved \rowstyle that takes the cell contents as an argument
\documentclass{article}
\usepackage{array}
\newsavebox\TBox
\newif\iffbox \fboxfalse
\newcommand\FB[1][true]{\global\csname fbox#1\endcsname}
\newcolumntype{C}{%
>{\begin{lrbox}{\TBox}}
c
<{\end{lrbox}\iffbox\fbox{\usebox\TBox}\else\usebox\TBox\fi}}
\begin{document}
\begin{tabular}{*3C}
One & Two & Three \\ \hline
1 & 2 & 3 \\
\fbox{4} & \fbox{5} & \fbox{6} \\
4 & 5 & 6 \\\FB
7 & 8 & 9 \\ \FB[false]
1 & 2 & 3
\end{tabular}
\end{document}
This is a hack into tabu
code. I'm redefining the internal of \rowfont
so that you can specify the equivalent of the >
preamble construction and the equivalent of the <
preamble construction (this one is new). Not sure it is fully robust.
\documentclass{standalone}
\usepackage{tabu}
\makeatletter
\renewcommand*\tabu@row@font[3][]{%
\ifnum7=\currentgrouptype
\global\let\tabu@@cellleft \tabu@cellleft
\global\let\tabu@@cellright \tabu@cellright
\global\let\tabu@@celllalign \tabu@celllalign
\global\let\tabu@@cellralign \tabu@cellralign
\global\let\tabu@@rowfontreset\tabu@rowfontreset
\fi
\global\let\tabu@rowfontreset \tabu@rowfont@reset
\expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}%
\expandafter\gdef\expandafter\tabu@cellright\expandafter{\tabu@cellright #3}%
\ifcsname tabu@cell@#1\endcsname % row alignment
\csname tabu@cell@#1\endcsname \fi
\ifnum0=`{\fi}% end of group / noalign group
}% \rowfont
\begin{document}
\newsavebox{\mybox}
\begin{tabu}{ccc}
One & Two & Three \\ \hline
1 & 2 & 3 \\
\rowfont{\begin{lrbox}{\mybox}}{\end{lrbox}\fbox{\usebox{\mybox}}} 4 & 5 & 6 \\
7 & 8 & 9 \\ \hline
\end{tabu}
\end{document}