das mag jetzt böse klingen aber ich glaube hier liegt ein Designproblem vor.
Das problem ist das du scheinbar Darstellung, Logic und Daten nicht von einander getrennt hast.
Das rächt sich jetzt und ist eigentlich nur vernünftig zu lösen in dem du das ganze voneinander trennst. Klingt grausam, ist aber so