Sciopero in dinamicjasper
-
27-10-2019 - |
Domanda
Esiste un modo per applicare lo stile StrikeThrough su una cella di tavolo usando DynamicJasper? Sono riuscito a "hackerarlo" JRPdfExporter
e il suo metodo exportText
dove aggiungo lo stile al passato JRPrintText
Ma deve esserci un modo corretto per farlo?
Ecco la mia soluzione alternativa se qualcuno è interessato:
JRPdfExporter exporter = new JRPdfExporter()
{
@Override
public void exportText(JRPrintText text) throws DocumentException
{
if (text.getText().contains("<strike>"))
{
text.setText(text.getText().replaceAll("<strike>", ""));
text.getStyle().setStrikeThrough(true);
}
super.exportText(text);
}
};
Quello che faccio è che segnerò il testo con cui dovrebbe avere lo stile di sciopero <strike>
. Quindi provo se il testo contiene il segno e se lo fa, applico lo stile e rimuovo il segno.
Ma credo che ci debba essere un modo legale di farlo usando l'API di DynamicJasper. Grazie!
Soluzione
Dal momento che non ho risposte e non ho trovato altra soluzione che migrare a DynamicReports, sto segnando la domanda come risposta. DynamicReports è in grado di farlo abbastanza facilmente usando uno stile condizionale.