LUA : Intégrer un graphique dans un rapport

Nous allons voir ici comment intégrer un graphique de type camembert dans un rapport.

NSBase ne permet pas nativement d'incorporer un graphique dans un  rapport, ce composant n'existe pas dans la palette d'édition des rapports.

Cependant, cela est possible. Pour cela il faut d'abord créer un formulaire qui servira de support à ce composant 

On y intégrera alors cet objet avec les  propriétés dûment documentée (datasource, series...), notamment la propriété "BuildPicture" à true, pour autoriser la construction de l'image (picture) (A partir de NSBase V.1.6.1)

Dans le rapport concerné, nous l'ouvrons en édition et y rajoutons un composant de type image

Dans le script sur l'action ActionOnLoaded du rapport, nous rajoutons le code suivant :

function rptCat:ActionOnLoaded()
  nsbase.window.show('frmStatCat')
  local content=nsbase.window.getProperty('frmStatCat.Chart.Picture')
  nsbase.window.close('frmStatCat')
  self.setProperty('RImage1.Picture',content)
end  

Ce qui donnera en exécution