Setting data in Writer chart from Basic
Fernand Vanrie
sos at pmgroup.be
Sun Jan 24 08:24:47 PST 2016
Jan,
please find some code who works fine for me,
maybe its locking and unlocking whor provoke the refresh or its becuase
i change some more things after setting the data ?
oChart.lockControllers()
oChart.Data.setData(DataArray())
oChart.Data.setrowDescriptions(LabelsArray())
dim columnLabelsArray(2)
columnLabelsArray(0) = "20" & mid(sjaarmin2,len(sjaarmin2)-4,2)
columnLabelsArray(1) = "20" & mid(sjaarmin1,len(sjaarmin2)-4,2)
columnLabelsArray(2) = "20" & mid(sjaarnu,len(sjaarmin2)-4,2)
oChart.Data.setColumnDescriptions(columnLabelsArray())
' Title
oChart.HasMainTitle=false
oChart.Title.string = sTitel
' Labels
oChart.DataSourceLabelsInFirstColumn = true
oChart.DataSourceLabelsInFirstRow= false
' Legend
ochart.hasLegend = true
' oSheet.getCharts.getByName("CHART1").getEmbeddedObject.hasLegend
= true
ochart.area.fillcolor = rgb(240,240,240)
oChart.unlockControllers()
i resently found out that using the "dispatcher" also can provocke the
refresh of some doc ellements
document = odoc.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
'here do changing the rowheigt in calc document the repositoning of 'all
shapes in a doc
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "RowHeight"
args1(0).Value = 500
dispatcher.executeDispatch(document , ".uno:RowHeight", "", 0, args1())
> Hi,
>
> with this code I can change the data in a Writer chart:
>
> set doc = thisComponent
> set ctrl = thisComponent.CurrentController
> xChart = ctrl.getModel().getEmbeddedObjects.getByName("Objekt1")
> set cDoc = xChart.getEmbeddedObject
> set cDataArray = cDoc.getDataProvider
> data = cDataArray.getData
> ' Do something with the data
> cDataArray.setData(data)
>
> But I can't get the chart to update. The only way I see is to
> double-click on the chart in the document, then it will update.
>
> What is the right way to force an update via code?
>
> Thank!
> Jan
>
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice
More information about the LibreOffice
mailing list