aspx-website (.NET 4.0)에서 통합 차트 컨트롤을 사용하고 있는데이를 표시 할 수 없습니다.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
당신은 내가 차트의 데이터를 채우기 위해 테이블을 사용하고 볼 수 있듯이 : 여기 내 코드 (VB.NET)가있다. 차트가 간단한 자리 표시 자에 추가됩니다.
<asp:PlaceHolder ID="plch_Chart" runat="server" Visible="true"></asp:PlaceHolder>
코드에 쓸 내용이 있습니까? 나는 틀린 것을 알아낼 수 없다. 단일 예외조차 발생시키지 않기 때문에 코드가 올바르게 보인다.
편집 :의 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은 데이터가 데이터 소스에 바인딩되어야 할 때 호출해야한다고 말합니다. 포인트를 하나씩 추가 할 때 코드에는 해당하지 않습니다. 따라서이 메소드는 데이터 소스가 비어있는 경우 데이터를 지울 수 있습니다. – gobes