2011-09-02 4 views
0

J'ai un fichier XML que je restaure à partir de ma base de données contenant jasperreports. Voici un extrait:Comment modifier un élément <staticText> dans un JasperReport

<staticText>......<text><![CDATA[Entidad Bancaria:]]></text></staticText> 

Je veux remplacer programatically le contenu de l'élément CDATA puis régénérer le JasperReport, mais je trouve que l'API ne permet pas de le faire (ou il est trop difficile à comprendre comment). J'ai donc essayé de convertir le fichier XML Jasper en une chaîne, de la chaîne à Inputstream (pour correspondre à la signature de la méthode JasperFillManager.fillReport()), mais la compilation échoue ... Est-ce que quelqu'un sait comment accomplir cela correctement? Merci!

Répondre

2

Le texte statique n'est pas conçu pour être modifié par programme. Pourquoi ne pas simplement changer le staticText en textField puis utiliser un paramètre? Modifiez le fichier XML:

<textField><textFieldExpression><![CDATA[$P{banc}]]></textFieldExpression></textField> 

Définissez ensuite la valeur de banc programatically et le transmettre à fillReport()

+0

Oui, je pensais à quelque chose comme ça aussi. Je vais l'essayer. Je vous remercie! – misterzigzag

Questions connexes