aspx-website(.NET 4.0)で統合チャートコントロールを使用していますが、表示できません。ここに私のコード(VB.NET)があります:ASP.NET用のグラフが表示されない
Protected Sub CreateChart(ByVal dt As DataTable, ByVal KZ As DB_Kennzahl)
Dim chart As New Chart
chart.Height = Unit.Pixel(400)
chart.Width = Unit.Pixel(800)
Dim ca As New ChartArea
ca.Name = "ChartArea"
chart.ChartAreas.Add(ca)
Dim seriesKZ As New Series
seriesKZ.Name = KZ.Text
seriesKZ.ChartType = SeriesChartType.Column
seriesKZ.Color = Drawing.Color.Blue
chart.Series.Add(seriesKZ)
For Each dr As DataRow In dt.Rows
Dim dp As New DataPoint
dp.SetValueY(Convert.ToDecimal(dr.Item(6)))
dp.AxisLabel = CStr(dr.Item("Datum"))
seriesKZ.Points.Add(dp)
Next
chart.DataBind()
plch_Chart.Controls.Add(chart)
End Sub
ご覧のとおり、私はチャートのデータを埋めるためにテーブルを使用しています。 チャートは単純なプレースホルダに追加されます。
<asp:PlaceHolder ID="plch_Chart" runat="server" Visible="true"></asp:PlaceHolder>
コードに書き込むものを忘れましたか?何が間違っているのか分かりません。単一の例外さえもスローされないため、コードは正しいようです。
EDIT:Web.configファイル:(チャートに影響を与えている部分だけ)
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
<add key="ChartImageHandler" value="storage=file;timeout=20;Url=~\TempImageFiles\;" />
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</controls>
あなたがSetValueXY代わりのSetValueYを使用してデータポイントのためのX値を設定する必要はありませんか? – gobes
いいえ、X値は「必須」ではありません。 SetValueYで十分です。 –
申し訳ありませんが無知なように見えますが、この種のグラフはデータソースでのみ使用します。 'chart.DataBind()'の呼び出しは本当に必要ですか? MSDNでは、データをデータソースにバインドする必要があるときに呼び出す必要があり、ポイントを1つずつ追加するときにはコードには当てはまりません。このメソッドは、データソースが空の場合にデータを消去することができます。 – gobes