Binding Data

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
Taff
Newbie
Newbie
Posts: 1
Joined: Mon Aug 08, 2005 4:00 am
Location: Bristol, UK
Contact:

Binding Data

Post by Taff » Mon Aug 22, 2005 9:59 am

Hi,

I am trying to create a simple chart that maps a price against a date. I am using the folowing code:

Code: Select all

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
	Dim Chart1 As Steema.TeeChart.Chart

	'Add in a series and fill it   
	Chart1 = WebChart1.Chart()
	Chart1.Aspect.View3D = False
	Dim Line1 As New Steema.TeeChart.Styles.Line(Chart1)

	'Add a SeriesToolTip to the Chart 
	Dim dt As DataTable
	dt = GetChartData()

	Line1.YValues.DataMember = dt.Columns("LastTrade").ToString()
	Line1.XValues.DataMember = dt.Columns("Date").ToString
	Line1.DataSource = dt

End Sub
The GetChartData function returns a valid datatable, but I get the error "Input string was not in a correct format." when I try to set the datasource.

Any help appreciated.

Regards


Taff

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Mon Aug 22, 2005 11:05 am

Hi Taff,

You can try replacing:

Code: Select all

   Line1.YValues.DataMember = dt.Columns("LastTrade").ToString() 
   Line1.XValues.DataMember = dt.Columns("Date").ToString 
   Line1.DataSource = dt 
for:

Code: Select all

   Line1.DataSource = dt
   Line1.YValues.DataMember = "LastTrade"; 
   Line1.XValues.DataMember = "Date";
If it doesn't work you should also post GetChartData() code. You could also have a look at the ADO.NET tutorial available at the TeeChart program group.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

TeeUser
Newbie
Newbie
Posts: 14
Joined: Wed Jun 22, 2005 4:00 am
Contact:

Post by TeeUser » Tue Jan 03, 2006 5:07 pm

Hi, I get the same error when I try to bind data to the chart.
My code is as follows:

fastLine1.DataSource = ds.Tables[0].DefaultView;
fastLine1.XValues.DataMember = ds.Tables[0].Columns["DATE"].ToString();
fastLine1.XValues.DateTime=true;
fastLine1.YValues.DataMember = ds.Tables[0].Columns["YVALUE"].ToString();

I get the error

Server Error in '/SampleApplication' Application.
--------------------------------------------------------------------------------

Input string was not in a correct format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.FormatException: Input string was not in a correct format.

Source Error:


Line 107: fastLine1.DataSource = ds.Tables[0].DefaultView;
Line 108: fastLine1.YValues.DataMember = ds.Tables[0].Columns["YVALUE"].ToString();
Line 109: fastLine1.XValues.DataMember = ds.Tables[0].Columns["DATE"].ToString();
Line 110: fastLine1.XValues.DateTime=true;
Line 111:


Source File: c:\inetpub\wwwroot\sampleapplication\chart1.aspx.cs Line: 109

Stack Trace:


[FormatException: Input string was not in a correct format.]
System.Number.ParseDouble(String s, NumberStyles style, NumberFormatInfo info) +0
System.Double.Parse(String s, NumberStyles style, IFormatProvider provider) +208
System.Convert.ToDouble(String value, IFormatProvider provider) +32
System.String.System.IConvertible.ToDouble(IFormatProvider provider) +5
System.Convert.ToDouble(Object value) +36
Steema.TeeChart.Styles.Series.Add(DataView view) +772
Steema.TeeChart.Data.DataSeriesSource.TryRefreshData(Series s) +214
Steema.TeeChart.Styles.Series.FillFromDataSource() +379
Steema.TeeChart.Styles.Series.CheckDataSource() +19
Steema.TeeChart.Styles.ValueList.set_DataMember(String value) +52
SampleApplication.chart1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\sampleapplication\chart1.aspx.cs:109
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032

Please let me know if you have solved this issue and if yes, How?
Thanks.

ACTL
Newbie
Newbie
Posts: 14
Joined: Thu Sep 30, 2004 4:00 am

Post by ACTL » Tue Jan 03, 2006 8:23 pm

I had the same error message when binding dataset table to one Candle serie.

To solve this probled I created a datatable with the correct column type (Complete example below).
Since this moment, it works correcly.

I hope it helps.

Best regards.

Code sample:

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click
Dim DataSet_Obj As New DataSet
Dim DataRow_Obj As DataRow

Dim Tag_Serie_Candle As Steema.TeeChart.Styles.Candle

DataSet_Obj.Tables.Add("CandleTable")
DataSet_Obj.Tables("CandleTable").Columns.Add( _
New DataColumn("Date", System.Type.GetType("System.DateTime")))
DataSet_Obj.Tables("CandleTable").Columns.Add( _
New DataColumn("Open", System.Type.GetType("System.Double")))
DataSet_Obj.Tables("CandleTable").Columns.Add( _
New DataColumn("Close", System.Type.GetType("System.Double")))
DataSet_Obj.Tables("CandleTable").Columns.Add( _
New DataColumn("High", System.Type.GetType("System.Double")))
DataSet_Obj.Tables("CandleTable").Columns.Add( _
New DataColumn("Low", System.Type.GetType("System.Double")))

DataRow_Obj = DataSet_Obj.Tables("CandleTable").NewRow()
DataRow_Obj("Date") = CDate("01/01/2005 10:00:00")
DataRow_Obj("Low") = 100
DataRow_Obj("Close") = 110
DataRow_Obj("Open") = 120
DataRow_Obj("High") = 130
DataSet_Obj.Tables("CandleTable").Rows.Add(DataRow_Obj)
DataRow_Obj = Nothing
DataRow_Obj = DataSet_Obj.Tables("CandleTable").NewRow()
DataRow_Obj("Date") = CDate("01/01/2005 10:10:00")
DataRow_Obj("Low") = 105
DataRow_Obj("Close") = 115
DataRow_Obj("Open") = 125
DataRow_Obj("High") = 135
DataSet_Obj.Tables("CandleTable").Rows.Add(DataRow_Obj)
DataRow_Obj = Nothing
DataRow_Obj = DataSet_Obj.Tables("CandleTable").NewRow()
DataRow_Obj("Date") = CDate("01/01/2005 10:20:00")
DataRow_Obj("Low") = 120
DataRow_Obj("Close") = 130
DataRow_Obj("Open") = 140
DataRow_Obj("High") = 150
DataSet_Obj.Tables("CandleTable").Rows.Add(DataRow_Obj)

Tag_Serie_Candle = New Steema.TeeChart.Styles.Candle
TChart1.Series.Add(Tag_Serie_Candle)

Tag_Serie_Candle.DataSource = DataSet_Obj.Tables("CandleTable")
Tag_Serie_Candle.OpenValues.DataMember = DataSet_Obj.Tables("CandleTable").Columns("Open").ToString()
Tag_Serie_Candle.CloseValues.DataMember = DataSet_Obj.Tables("CandleTable").Columns("Close").ToString()
Tag_Serie_Candle.DateValues.DataMember = DataSet_Obj.Tables("CandleTable").Columns("Date").ToString()
Tag_Serie_Candle.DateValues.DateTime = True
Tag_Serie_Candle.HighValues.DataMember = DataSet_Obj.Tables("CandleTable").Columns("High").ToString()
Tag_Serie_Candle.LowValues.DataMember = DataSet_Obj.Tables("CandleTable").Columns("Low").ToString()
Tag_Serie_Candle.LabelMember = "Test ACTL"
Tag_Serie_Candle.CheckDataSource()
End Sub

Post Reply