Winnovative Web Chart Control v7.1 ASP.NET and Windows Forms
Winnovative Web Chart Control v7.1 ASP.NET and Windows Forms
The Winnovative Chart Control for .NET allows you add data visualization capabilities to your web applications. It is a reliable, easy to use, highly customizable and high performance charting control built with 100% managed code. It is compatible with .NET 2.0, .NET 3.5 and .NET 4.0 Frameworks and offers full design time support for Visual Studio 2010 and 2012.
The current version offers 28 types of 2D and 3D charts including bars, lines, pies, doughnuts, cylinders, surfaces, curves, radars and others. It offers advanced features like 3D charts scaling and rotation, server postback events for chart cliks, tooltips, user defined axis scale range and axis tickmarks. The axis and legend box are fully customizable and the data sources can be .NET data sources like DataTable, DataView, arrays and collections.
Using the live demo below you can quickly see the main capabilities of the Winnovative Chart Control for Asp.NET. The full C# source code of the sample is available in the samples folder from downloaded archive.
The chart control can be used as a standalone product or as part of the Winnovative Reporting Toolkit which contains besides the web chart control a powerfull HTML to PDF Converter for .NET. Using the reporting toolkit you can instantly create PDF reports containing charts and any other ASP.NET controls directly from a web page.
General Features
.Net Framework 2.0 Compatible
.Net Framework 3.5 Compatible
ASP.NET Server Control
Windows Forms Control
2D and 3D charts
3D charts rotation and scaling
Customizable legend box
ToolTips
Full Design-Time support
Titles Customizations
Customizable title font
Customizable axis
Customizable grid lines
Custom color pallets
Server events for chart clicks
Various types of data sources
User defined axis scale range
User defined axis tickmarks
Chart Types
Vertical Bars
Vertical Stacked Bars
Verical Full-Stacked Bars
Vertical 3D Bars
Vertical 3D Stacked Bars
Verical 3D Full-Stacked Bars
Cylinders
Horizontal 2D and 3D Bars
Pie 2D and 3D
Doughnut 2D and 3D
Line (simple, series, 3D series, stacked).
Curves (series).
Surfaces (simple. series, stacked, full-stacked).
Radar Lines (simple, series, stacked).
Radar Surfaces (simple, series, stacked).
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadChartType();
WebChart1.DataSource = Winnovative.DataSources.GetTestData();
WebChart1.ImagesAutoClean = 1;
}
}
protected void DdlChartType_SelectedIndexChanged(object sender, EventArgs e)
{
WebChart1.ChartType = (Winnovative.ChartType)Enum.Parse(typeof(Winnovative.ChartType), DdlChartType.SelectedValue);
}
private void LoadChartType()
{
DdlChartType.Items.Clear();
string[] types = Enum.GetNames(typeof(Winnovative.ChartType));
for (int i = 0; i <= types.Length - 1; i++)
{
DdlChartType.Items.Add(types[i]);
}
}
/// <summary>
/// This method returns a sample DataTable with test data
/// The tables has the following structure:
/// - Labels (string)
/// - Date (DateTime)
/// - Seller1 (number)
/// - Seller2 (number)
/// - Seller3 (number)
/// </summary>
public static DataTable GetTestData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Labels", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Columns.Add("Seller1", typeof(int));
dt.Columns.Add("Seller2", typeof(int));
dt.Columns.Add("Seller3", typeof(int));
DataRow row = dt.NewRow();
row["Date"] = new DateTime(2006, 1, 1);
row["Labels"] = "January";
row["Seller1"] = 100;
row["Seller2"] = 100;
row["Seller3"] = 200;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 2, 1);
row["Labels"] = "February";
row["Seller1"] = 200;
row["Seller2"] = 110;
row["Seller3"] = 170;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 3, 1);
row["Labels"] = "March";
row["Seller1"] = 300;
row["Seller2"] = 140;
row["Seller3"] = 290;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 4, 1);
row["Labels"] = "April";
row["Seller1"] = 100;
row["Seller2"] = 60;
row["Seller3"] = 100;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 5, 1);
row["Labels"] = "May";
row["Seller1"] = 300;
row["Seller2"] = 160;
row["Seller3"] = 120;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 6, 1);
row["Labels"] = "June";
row["Seller1"] = 200;
row["Seller2"] = 120;
row["Seller3"] = 190;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 7, 1);
row["Labels"] = "June";
row["Seller1"] = 200;
row["Seller2"] = 160;
row["Seller3"] = 220;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 8, 1);
row["Labels"] = "August";
row["Seller1"] = 220;
row["Seller2"] = 80;
row["Seller3"] = 120;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 9, 1);
row["Labels"] = "September";
row["Seller1"] = 270;
row["Seller2"] = 200;
row["Seller3"] = 100;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 10, 1);
row["Labels"] = "October";
row["Seller1"] = 300;
row["Seller2"] = 230;
row["Seller3"] = 190;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 11, 1);
row["Labels"] = "November";
row["Seller1"] = 260;
row["Seller2"] = 100;
row["Seller3"] = 200;
dt.Rows.Add(row);
row = dt.NewRow();
row["Date"] = new DateTime(2006, 12, 1);
row["Labels"] = "December";
row["Seller1"] = 320;
row["Seller2"] = 190;
row["Seller3"] = 270;
dt.Rows.Add(row);
return dt;
}
Only for V.I.P
Warning! You are not allowed to view this text.