2010-05-31 3 views
0

J'ai un rapport de birt qui a lu des choses d'une base de données. Ensuite, je veux incrémenter un Integer global pour chaque Detailrow qui est chargé. i ont jusqu'à présent initialisé un entier global avec les lignes suivantes:Birt Global Integer

importPackage(Packages.java.lang); 
reportContext.setPersistentGlobalVariable("minTotalPlus", new Integer(0)); 

Après que j'ai ajouté la ligne suivante dans un champ dans ma ligne de détails:

reportContext.setGlobalVariable("minTotalPlus", new Integer reportContext.getGlobalVariable("minTotalPlus")) + 1); 

Quand je visionne le rapport que je reçois une "java.lang.NumberFormatException: null" qui signifie que la variable globale est null. Pourquoi est-ce si? Comment pourrais-je résoudre ce problème?

+0

Dans votre deuxième extrait de code ci-dessus, vous appelez "setGlobalVariable". Ce n'est pas une méthode de script BIRT valide. Est-ce une erreur dans le message ou peut-être une erreur sur le rapport contribuant aux problèmes que vous voyez. J'ai quelques idées ici mais je voulais l'éclaircir avant de continuer. – MystikSpiral

+0

Salut à tous! Merci pour votre réponse. J'ai découvert que vous pouvez très facilement définir une variable globale en ajoutant simplement "minTotalPlus = new Integer (0);" à l'événement initialize de votre rapport. Donc je n'ai plus besoin du code ci-dessus. – Matschie

Répondre

0

Dont » déclarer des variables comme dans la méthode d'initialisation déclarent analogue la

suivant
materiales=0; 
tools=0; 

puis dans la méthode de récupération utiliser ce qui suit

tools++; 

... etc.