ASP.Net WebForms::ThinWebClient: Export Chart as a picture


https://www.nevron.com/Forum/Topic12300.aspx
Print Topic | Close Window

By joern kunze - 7 Years Ago
Hi Experts,

I want to export the chart as a picture. Using the Chart-build-in buttons works fine:
NThinChartControl1.Toolbar.Items.Add(new NToolbarButton(new NSaveImageAction(DateTime.Now.ToString( "yyyyMMdd_HHmmss") + "__Chart", new NPngImageFormat(), true, new NSize(0, 0), 96)));

But I want tu use my own Button-Control to export the image. I tried to use the NThinChartControl1.ImageExporter.SaveToFile - function. Basically it is working - but the exported picture shows only the X/Y Axis and no data at all:



What must be done to get also the data ?

Furthermore, I would like to toggle DataZoomToolAction <-> DataPanToolAction functions also from my own button-control. How can I do this ?
When I use the build-in-buttons it is working:
     NThinChartControl1.Toolbar.Items.Add(new NToolbarButton(new NToggleDataZoomToolAction()));
      NThinChartControl1.Toolbar.Items.Add(new NToolbarButton(new NToggleDataPanToolAction()));


Thanks for your help,
Best regards,
Joern
By joern kunze - 7 Years Ago
... after restarting the computer, the exported picture now shows also the contents - I hope it stays that way :-)

So just the question how to get the build-in toggle functionality:
     NThinChartControl1.Toolbar.Items.Add(new NToolbarButton(new NToggleDataZoomToolAction()));
      NThinChartControl1.Toolbar.Items.Add(new NToolbarButton(new NToggleDataPanToolAction()));

with an own button-control remains. How can I do that ?
By Nevron Support - 7 Years Ago
Hi Joern,
You can take a look at the ThinWeb\Toolbar example which shows how to create toolbar buttons with custom implemented actions. We're also attaching the build in commands implementation in the chart as a reference implementation. In general what you need to implement in order to have a custom action in the toolbar is:
1. Implement a class that derives from NAction or NCheckAction and override the methods that get the button image, whether the button is enabled/checked and then return the client side script executed when the button is pressed.
2. Implement a custom command class which handles the custom request at the server.
Both those steps are illustrated in the example -you can also take a look at the following topics in the documentation:
http://helpdotnetvision.nevron.com/#ThinWeb_Custom_Commands.html
http://helpdotnetvision.nevron.com/#ThinWeb_Custom_Requests.html

Hope this helps - let us know if you meet any problems or have any questions.
By joern kunze - 7 Years Ago
... thanks for the description - unfortunatly I coulndt get it running that way - probably due to my limited understanding of the necessary inheritance and postback - mechanisms.

I found another workaround:
https://www.nevron.com/forum/uploads/images/8e8ac9c6-3a1b-42b8-9c00-b47d.jpg

is there anything wrong with this approach or should it be as good as your proposed solution ?



By Nevron Support - 7 Years Ago
Hi Joern,
It is perfectly Ok to Enable / Disable tools when you need to switch between them - we don't see any problem with that.