Hi,
My chart has more than one series (the number always changes).
I want to add these series dynamically into my chart (sometimes 2 sometimes 5 series). I tried to use an array but it did not work. How can I add the (changing number) chart series dynamically? and what is the problem with the array? (Please see the code below)
Thanks,
Ervin
Dim rowNumber As Integer = ds.Tables(0).Rows.Count
Dim myChartSeries(rowNumber - 1) As ChartSeries
For index As Integer = 0 To rowNumber - 1
With myChartSeries(index)
.Name = s1
.Appearance.TextAppearance.TextProperties.Color = Color.Blue
.Type = ChartSeriesType.Line
.Appearance.LabelAppearance.Visible = True
.Appearance.PointMark.Dimensions.AutoSize = False
.Appearance.PointMark.Dimensions.Width = 7
.Appearance.PointMark.Dimensions.Height = 7
.Appearance.PointMark.FillStyle.MainColor = Color.Black
.Appearance.PointMark.Visible = True
For index2 As Integer = 0 To 5
Dim mychartSeriesItem As Integer = Int(ds.Tables(0).Rows(0).Item(index2 + 1))
myChartSeries(index2).AddItem(mychartSeriesItem)
Next
End With
chart.AddChartSeries(myChartSeries(index))
Next
chart.DataBind()
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <telerik:RadStyleSheetManager id="RadStyleSheetManager1" runat="server" /></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <%--Needed for JavaScript IntelliSense in VS2010--%> <%--For VS2008 replace RadScriptManager with ScriptManager--%> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts> </telerik:RadScriptManager> <script type="text/javascript"> //Put your JavaScript code here. </script> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableAJAX="true"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="Timer1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div> <telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" OnNeedDataSource="RadGrid1_NeedDataSource" OnUpdateCommand="RadGrid1_UpdateCommand"> <MasterTableView Name="RadGrid1TableView" AutoGenerateColumns="false" ShowHeader="true" CommandItemDisplay="None" EditMode="InPlace" AllowPaging="true" > <PagerStyle AlwaysVisible="true" Mode="NextPrevNumericAndAdvanced" Wrap="false" /> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" EditText="Edit" UniqueName="EditButton" /> <telerik:GridBoundColumn DataField="Value1" HeaderText="Value1" SortExpression="Value1" AllowFiltering="false" AllowSorting="false" UniqueName="Value1"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Value2" HeaderText="Value2" SortExpression="Value2" AllowFiltering="false" AllowSorting="false" UniqueName="Value2" ReadOnly="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Value3" HeaderText="Value3" SortExpression="Value3" AllowFiltering="false" AllowSorting="false" UniqueName="Value3" ReadOnly="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Value4" HeaderText="Value4" SortExpression="Value4" AllowFiltering="false" AllowSorting="false" UniqueName="Value4" ReadOnly="true"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="3000" /> </div> </form></body></html>using System;using System.Data;using System.Web.UI;using Telerik.Web.UI;public partial class Default : Page { protected void Page_Load(object sender, EventArgs e) { } protected void Timer1_Tick(object sender, EventArgs e) { RadGrid1.Rebind(); } protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { RadGrid1.DataSource = GetRandomData(); } private static DataTable GetRandomData() { DataTable dt = new DataTable(); Random rand = new Random(); dt.Columns.Add(new DataColumn("Value1", typeof(double))); dt.Columns.Add(new DataColumn("Value2", typeof(double))); dt.Columns.Add(new DataColumn("Value3", typeof(double))); dt.Columns.Add(new DataColumn("Value4", typeof(double))); for (int x = 0; x < 10; x++) { DataRow row = dt.NewRow(); row["Value1"] = rand.Next(); row["Value2"] = rand.Next(); row["Value3"] = rand.Next(); row["Value4"] = rand.Next(); dt.Rows.Add(row); } return dt; } protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) { // Do the update }}