세 개의 열이있는 테이블이 있고 두 개의 테이블에 값이 들어있는 테이블이 있습니다. 나는 각각에 대한 데이터를 표시하는 두 개의 파이 차트를 출력하려고합니다. 어떤 이유로 두 번째 원형 차트가 표시되지 않고 대신 회색 사각형으로 표시됩니다. 또한 전설은 연속적으로 두 번 나타나지만 나에게 의미가없는 유일한 전설입니다. 차트 컨트롤 여러 ChartArea의 동일한 테이블
<asp:Chart Height="500" Width="500" ID="ClientModelChart" runat="server">
<Series>
<asp:Series ChartType="Pie" IsValueShownAsLabel="true" Name="PortfolioActual"></asp:Series>
<asp:Series ChartType="Pie" IsValueShownAsLabel="true" Name="ModelActual"></asp:Series>
</Series>
<Legends>
<asp:Legend Name="PortfolioActual"></asp:Legend>
<asp:Legend Name="ModelActual"></asp:Legend>
</Legends>
<ChartAreas>
<asp:ChartArea Area3DStyle-Enable3D="true" Area3DStyle-LightStyle="Realistic" Name="PortfolioActual"></asp:ChartArea>
<asp:ChartArea Area3DStyle-Enable3D="true" Name="ModelActual"></asp:ChartArea>
</ChartAreas>
</asp:Chart>
가 그럼 난 데이터를 차트 계열을 바인딩 할 때 내가 그것을 사용할 수 있도록
DataSet
채우기 위해 사용되는
SqlDataAdapter
, 나는 다음
IEnumerable
목록 유형에
DataTableCollection
를 켜있어 :
다음은 마크 업입니다. 약간 털이 많은데, 내가 이것을하는 이유는 나중에 XSLT 출력에 DataSet
이 사용 되었기 때문에 내가 필요로하는 데이터를 이미 가지고있을 때 데이터베이스를 다시 쿼리 할 필요가 없기 때문이다.
Dim sectorList As IList = CType(ds.Tables(1), IListSource).GetList()
ClientModelChart.Series("PortfolioActual").Points.DataBind(sectorList, "Sector", "Model", Nothing)
ClientModelChart.Series("ModelActual").Points.DataBind(sectorList, "Sector", "Client", Nothing)
그래서 두 번째 원형 차트 (ModelActual)는 전혀 표시되지 않고 단지 회색 사각형입니다. 나는 아무 쓸데없이 시간을 들여 보았다. (편집 : 또한, 나는 이미 비슷한 일을했기 때문에 이것이 왜 작동하지 않는지 모르겠다. 다른 하나와의 차이점은 데이터가 처음에는 두 개의 분리 된 세트에서 나온 것이지만, 그렇게해서는 안된다는 것이다. 그 이유는 작동하지 않습니다)
고마워.