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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top