2012-05-07 9 views
0

私はデータセットを持っています。以下のコードを使用して、下のコードを使用してラジカルをバインドするにはどうすればよいですか?.netコード変換データソース

Partial Public Class Chart_Examples_Skinning_Bars_DefaultCS 
    Inherits System.Web.UI.Page 
    Protected Sub Page_Load(sender As Object, e As EventArgs) 
     If Not Page.IsPostBack Then 
      Dim series As New ChartSeries() 
      series.Type = ChartSeriesType.Bar 
      series.DataXColumn = "XValue" 
      series.DataYColumn = "YValue" 

      CapacityRadChart.Series.Add(series) 

      CapacityRadChart.DataSource = Me.GetDataSource() 
      CapacityRadChart.DataBind() 
     End If 
    End Sub 

    Private Function GetDataSource() As List(Of Class1) 
     Dim r As New Random() 
     Dim source As List(Of Class1) = New List(Of Class1) 

     For i As Integer = 0 To 399 
      Dim item As New Class1() 

      item.XValue = i 
      item.YValue = r.[Next](0, 100) 

      source.Add(item) 
     Next 

     Return source 
    End Function 

End Class 

私はこの方法でそれをやっている、しかし、それは次のようなエラーがスローされます。

the type of column with "COUNT" is not numeric".

してください、あなたが適切なコードをお勧めだろうか?

Dim dt As DataTable = ds.Tables.Item(0) 
Dim dr As DataRow 
Dim listdata As new List(Of Double) 

Dim list As New List(Of DataRow)(dt.[select]()) 
    For Each dr In dt.Rows    
      list.Add(dr.ToLis) 
    Next 

Dim series As New ChartSeries() 
series.Type = ChartSeriesType.Bar 
    series.DataXColumn = "CapacityDelay" 
    series.DataYColumn = "COUNT" 

    BaselineRadChart.Clear() 
    BaselineRadChart.Series.Add(series) 

    BaselineRadChart.DataSource = list 
    BaselineRadChart.DataBind() 

答えて

1

どのようにds.Tables.Item(0)に列を作成しますか? DataTableをデータベースから直接バインドするか、DataTableを手動で作成しますか?

あなたはそれを手動で作成する場合は、あなたは私がデータベースから直接データテーブルを結合したDataColumn

Dim dt As DataTable 
dt.Columns.Add("CapacityDelay", System.Type.GetType("System.String")) 
dt.Columns.Add("Count", System.Type.GetType("System.Int32")) 
+0

のデータ型を宣言する必要があり、リストにそれらを得るためにDataColumnsのを宣言するための方法はありますか? – user1378908

+0

DataTableをデータベースから直接バインドする場合、DataColumn Typeは実際にはデータベース内の列に基づいています。この場合は、データベース列とクエリの両方をチェックし、それらが両方とも数値形式であることを確認することをお勧めします。 – Nick

+0

パブリック・クラスClass1の \t \t \t m_XValue =値 \t \tエンドセット (整数として値) \t \t \t戻りm_XValue \t \tエンドゲット \t \tセットをゲット整数 \t \tとして \t公開プロパティはxValue() \t終了プロパティ \tプライベートm_XValue As Integer \t公開プロパティYValue()整数 \t \tとして \t \t \t戻りm_YValue \t \t終了します \t \tセット(整数として値) \t \t \t m_YValue =値 \t \tエンドセット \tエンドプロパティ \tを取得プライベートm_YValueを整数として 終了クラス – user1378908