У меня есть таблица с тремя столбцами, последние два со значениями в них. Я пытаюсь вывести две круговые диаграммы, отображающие данные для каждого. По какой-то причине вторая круговая диаграмма не отображается, а отображается серым квадратом. Кроме того, легенда появляется дважды подряд, но это всего лишь одна легенда, которая не имеет смысла для меня.
Вот разметка:
<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>
Затем у меня есть SqlDataAdapter
, используемый для заполнения DataSet
, затем я превращаю DataTableCollection
в тип списка IEnumerable
, чтобы использовать его при привязке данных к серии диаграмм. Это кажется немного странным, но причина, по которой я это делаю, заключается в том, что DataSet
используется для некоторого вывода XSLT позже, поэтому нет смысла повторно запрашивать базу данных, когда я уже получил данные, которые мне нужны / нужны.
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) вообще не отображается, это просто серый квадрат. Я возился часами безрезультатно. (РЕДАКТИРОВАТЬ: Кроме того, я уже сделал что-то похожее, поэтому я не знаю, почему этот не работает. Разница с моим другим в том, что изначально он исходил из двух отдельных наборов данных, но это не должно быть причина, по которой это не работает)
Спасибо.