使用MS图表控件显示的图例项目比ASP.Net饼图中的系列中的项目数大n倍

尼特什

我正在使用VB.Net在ASP.Net中使用MS Chart Control。图表类型为Pie。我面临一个奇怪的问题,其中图例中显示的项目数是当前系列数的平方。这意味着如果我在饼图中添加了2个系列,则图例中显示了4个项目,如果我在饼图中添加了7个系列,则图例中出现了49个项目。第一组显示7项正确数据,其他项仅显示0。

这是我在ASPX中的图表控件的标记-

 <asp:Chart runat="server" ID="chartX" CssClass="chart" Width="420px" Height="500px" ImageType="Jpeg">
    <Series></Series>
    <ChartAreas>
        <asp:ChartArea Name="ChartArea1"></asp:ChartArea>
    </ChartAreas>
    <Legends>
        <asp:Legend Docking="Bottom" Alignment="Center" Font="Calibri"></asp:Legend>
    </Legends>
 </asp:Chart>

这是在ASPX.vb中填充图表控件的代码-

Dim table As DataTable = PopulateData()
Dim dv As DataView = New DataView(table, "Count > 0", "", DataViewRowState.OriginalRows)

For Each r As DataRow In dv.ToTable().Rows

            Dim series As String = r("Name").ToString()
            chartX.Series.Add(series)
            chartX.Series(series).ChartType = DataVisualization.Charting.SeriesChartType.Pie
            chartX.Series(series).XValueMember = "Name"
            chartX.Series(series).YValueMembers = "Count"
            chartX.ChartAreas(0).Area3DStyle.Enable3D = True
            chartX.Series(series).Label = "#VALX" & Environment.NewLine & "(#PERCENT)"
            chartX.Series(series)("PieLabelStyle") = "Disabled"
    Next
    chartX.DataSource = dv
    chartX.DataBind()

希望有任何答案。

zeFrenchy

如果我没记错的话,您将为表中的每一行添加一个新系列。相反,您应该为表添加一次序列,然后绑定数据。

设置图形时,无需遍历所有行。仅绑定到表一次。我从未接触过VB,但它看起来应该像这样

Dim table As DataTable = PopulateData()
Dim dv As DataView = New DataView(table, "Count > 0", "", DataViewRowState.OriginalRows)
' setup just once
Dim series As String = "Series Name"
chartX.Series.Add(series)
chartX.Series(series).ChartType = DataVisualization.Charting.SeriesChartType.Pie
chartX.Series(series).XValueMember = "Name"
chartX.Series(series).YValueMembers = "Count"
chartX.ChartAreas(0).Area3DStyle.Enable3D = True
chartX.Series(series).Label = "#VALX" & Environment.NewLine & "(#PERCENT)"
chartX.Series(series)("PieLabelStyle") = "Disabled"
' bind to the entire set
chartX.DataSource = dv
chartX.DataBind()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MS图表图例中显示值

来自分类Dev

WPF图表控件更改图例中的“系列”标题

来自分类Dev

ASP.NET图表控件

来自分类Dev

列表视图中的项目数(取决于设备屏幕)

来自分类Dev

如何在PHP中显示数组中的项目数

来自分类Dev

MongoDB 2.6聚合中的项目数

来自分类Dev

指定元组中的项目数

来自分类Dev

Redis集合中的项目数

来自分类Dev

如何获取ListAdapter中的项目数?

来自分类Dev

bootsrap导航栏中的项目数

来自分类Dev

指定元组中的项目数

来自分类Dev

计算多个组中的项目数

来自分类Dev

计算字典中的项目数

来自分类Dev

显示对象数组中的项目数,无重复

来自分类Dev

如何限制Django应用中显示的项目数

来自分类Dev

显示PHP中每个类别的项目数

来自分类Dev

限制WPF ListView中显示的项目数

来自分类Dev

Angular ui grid pagination - 页面显示中的项目数

来自分类Dev

限制要在反应预测输入中显示的项目数

来自分类Dev

ChartNew不显示项目图例

来自分类Dev

如何计算ASP中继器中的项目数?

来自分类Dev

如何计算ASP中继器中的项目数?

来自分类Dev

使用 for 循环显示列数和列中的项目数

来自分类Dev

如何在饼图中显示图例从图表到饼图钻取高图

来自分类常见问题

使用Java计算文件中的项目数

来自分类Dev

如何使用LINQ获取集合中的项目数

来自分类Dev

如何使用 firebase 数据获取 recyclerView 中的项目数?

来自分类Dev

在JQuery中按项目数对项目进行分页

来自分类Dev

asp.net图表控件显示不正确的工具提示日期时间值