Gallery
JS Export Branding
<%@ Page Language="C#" Description="dotnetCHARTING Component" %>
<%@ Register TagPrefix="dotnet" Namespace="dotnetCHARTING" Assembly="dotnetCHARTING" %>
<%@ Import Namespace="System.Drawing" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.netCHARTING Sample</title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Demonstrates how to add a message to the chart seen only when it is exported.
Chart.Type = ChartType.Combo;
Chart.Width = 640;
Chart.Height = 400;
Chart.TempDirectory = "temp";
Chart.Debug = false;
Chart.JS.Enabled = true;
Chart.JS.Buttons.EnablePrintButton = true;
Chart.JS.Buttons.EnableExportButton = true;
Chart.JS.Settings.Add("events.beforeExport", "js:function(){this.annotations.add({id: 'tmp',label_text: 'Chart by XYZ Company',position: 'inside bottom left',});}");
Chart.JS.Settings.Add("events.afterExport", "js:function(){this.annotations('tmp').remove();}");
Chart.TitleBox.Label.Text = "This chart is branded when printed or exported.";
Chart.LegendBox.Visible = false;
// *DYNAMIC DATA NOTE*
// This sample uses random data to populate the chart. To populate
// a chart with database data see the following resources:
// - Classic samples folder
// - Help File > Data Tutorials
// - Sample: features/DataEngine.aspx
SeriesCollection mySC = getRandomData();
Chart.XAxis.Label.Text = "Quarters";
Chart.YAxis.Label.Text = "Units Sold";
// Add the random data.
Chart.SeriesCollection.Add(mySC);
}
SeriesCollection getRandomData()
{
SeriesCollection SC = new SeriesCollection();
Random myR = new Random(1);
DateTime dt = new DateTime(2019, 12, 1);
Series Saw = new Series();
Saw.Name = "Saw";
Series Hammer = new Series();
Hammer.Name = "Hammer";
Series Grinder = new Series();
Grinder.Name = "Grinder";
Series Drill = new Series();
Drill.Name = "Drill";
for (int b = 1; b < 5; b++)
{
Element e = new Element();
e.YValue = myR.Next(20, 200);
e.Name = "Q " + b.ToString();
Saw.Elements.Add(e);
e = new Element();
e.YValue = myR.Next(20, 90);
e.Name = "Q " + b.ToString();
Hammer.Elements.Add(e);
e = new Element();
e.YValue = myR.Next(20, 200);
e.Name = "Q " + b.ToString();
Grinder.Elements.Add(e);
e = new Element();
e.YValue = myR.Next(90, 200);
e.Name = "Q " + b.ToString();
Drill.Elements.Add(e);
}
SC.Add(Saw);
SC.Add(Hammer);
SC.Add(Grinder);
SC.Add(Drill);
return SC;
}
</script>
</head>
<body>
<div align="center">
<dotnet:Chart ID="Chart" runat="server" />
</div>
</body>
</html>
<%@ Page Language="vb" Description="dotnetCHARTING Component" %>
<%@ Register TagPrefix="dotnet" Namespace="dotnetCHARTING" Assembly="dotnetCHARTING" %>
<%@ Import Namespace="System.Drawing" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.netCHARTING Sample</title>
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Demonstrates how to add a message to the chart seen only when it is exported.
Chart.Type = ChartType.Combo
Chart.Width = 640
Chart.Height = 400
Chart.TempDirectory = "temp"
Chart.Debug = False
Chart.JS.Enabled = True
Chart.JS.Buttons.EnablePrintButton = True
Chart.JS.Buttons.EnableExportButton = True
Chart.JS.Settings.Add("events.beforeExport", "js:function(){this.annotations.add({id: 'tmp',label_text: 'Chart by XYZ Company',position: 'inside bottom left',});}")
Chart.JS.Settings.Add("events.afterExport", "js:function(){this.annotations('tmp').remove();}")
Chart.TitleBox.Label.Text = "This chart is branded when printed or exported."
Chart.LegendBox.Visible = False
' *DYNAMIC DATA NOTE*
' This sample uses random data to populate the chart. To populate
' a chart with database data see the following resources:
' - Classic samples folder
' - Help File > Data Tutorials
' - Sample: features/DataEngine.aspx
Dim mySC As SeriesCollection = getRandomData()
Chart.XAxis.Label.Text = "Quarters"
Chart.YAxis.Label.Text = "Units Sold"
' Add the random data.
Chart.SeriesCollection.Add(mySC)
End Sub
Function getRandomData() As SeriesCollection
Dim SC As SeriesCollection = New SeriesCollection()
Dim myR As Random = New Random(1)
Dim dt As DateTime = New DateTime(2019, 12, 1)
Dim Saw As Series = New Series()
Saw.Name = "Saw"
Dim Hammer As Series = New Series()
Hammer.Name = "Hammer"
Dim Grinder As Series = New Series()
Grinder.Name = "Grinder"
Dim Drill As Series = New Series()
Drill.Name = "Drill"
For b As Integer = 1 To 4
Dim e As Element = New Element()
e.YValue = myR.Next(20, 200)
e.Name = "Q " & b.ToString()
Saw.Elements.Add(e)
e = New Element()
e.YValue = myR.Next(20, 90)
e.Name = "Q " & b.ToString()
Hammer.Elements.Add(e)
e = New Element()
e.YValue = myR.Next(20, 200)
e.Name = "Q " & b.ToString()
Grinder.Elements.Add(e)
e = New Element()
e.YValue = myR.Next(90, 200)
e.Name = "Q " & b.ToString()
Drill.Elements.Add(e)
Next b
SC.Add(Saw)
SC.Add(Hammer)
SC.Add(Grinder)
SC.Add(Drill)
Return SC
End Function
</script>
</head>
<body>
<div align="center">
<dotnet:Chart ID="Chart" runat="server" />
</div>
</body>
</html>
- Sample FilenameJsExportBranding.aspx
- Version10.1
- Uses DatabaseNo