Winnovative control can display data from a DataTable and some other data sources.
By default, the first string column in the data source is used for the X Axis and the rest of the numeric columns are used as data series.
You can change the default columns used as data series. Take a look at the following sample.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
WebChart1.DataSource = Winnovative.DataSources.GetTestData();
WebChart1.DataSeriesFromArray(new string[] { "Seller2", "Seller3" });
/* // alternative method
WebChart1.DataSeries.Clear();
WebChart1.DataSeries.Add(new Winnovative.TableColumnItem("Seller2"));
WebChart1.DataSeries.Add(new Winnovative.TableColumnItem("Seller3"));
*/
WebChart1.Titles.Top.Visible = true;
WebChart1.Titles.Top.Text = "Data source has 3 numeric columns, but only 2 data series are displayed.";
}
}
/// <summary>
l
/// 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;
}