DevExpress饼图传奇文本(asp.net)

本文关键字:asp net 文本 传奇 DevExpress | 更新日期: 2023-09-27 18:15:40

我刚刚开始使用DevExpress图表组件,我正在尝试一个饼图。

它工作得很好,但是我有一个问题,我找不到答案,即使它可能很简单。

图例显示了百分比,但我需要它显示"ArgumentDataMember",否则图例没有真正帮助。

短代码:

    Series series1 = new Series("Series1", ViewType.Pie3D);
    chartControl.Series.Add(series1);
    series1.DataSource = dt;
    series1.ArgumentScaleType = ScaleType.Qualitative;
    series1.ArgumentDataMember = "CategoryName";
    series1.ValueScaleType = ScaleType.Numerical;
    series1.ValueDataMembers.AddRange(new string[] { "Products" });
    series1.LegendText = series1.ArgumentDataMember;
    chartControl.Legend.Visible = true;

显然series1。LegendText = series1.ArgumentDataMember;没有工作。

有没有人知道如何使用参数(数据名称)作为图例文本而不是值?

DevExpress饼图传奇文本(asp.net)

 Series series1 = new Series("Series1", ViewType.Pie3D);
    chartControl.Series.Add(series1);
    series1.DataSource = dt;
    series1.ArgumentScaleType = ScaleType.Qualitative;
    series1.ArgumentDataMember = "CategoryName";
    series1.ValueScaleType = ScaleType.Numerical;
    series1.ValueDataMembers.AddRange(new string[] { "Products" });
   // series1.LegendText = series1.ArgumentDataMember;
   series1.PointOptions.PointView = PointView.Argument; //this is code that you want
  //if you only legend box change
  series1.LegendPointOptions.PointView = PointView.Argument;
    chartControl.Legend.Visible = true;

你可以用下面的代码来使用LegendPointOptions:

Series series1 = new Series("Series1", ViewType.Pie3D);
chartControl.Series.Add(series1);
series1.DataSource = dt;
series1.ArgumentScaleType = ScaleType.Qualitative;
series1.ArgumentDataMember = "CategoryName";
series1.ValueScaleType = ScaleType.Numerical;
series1.ValueDataMembers.AddRange(new string[] { "Products" });
series1.LegendText = series1.ArgumentDataMember;
series1.LegendPointOptions.Pattern = string.Concat("{V}");//or string.Concat("{A}") or string.Concat("{A}:{V}")
chartControl.Legend.Visible = true;

你可以设置一个属性为false

CType(series.PointOptions, PiePointOptions).PercentOptions.ValueAsPercent = False

Vb。净样本。

For Each series As Series In ChartControl1.Series
     If series.PointOptions.GetType = GetType(PiePointOptions) Then
          CType(series.PointOptions, PiePointOptions).PercentOptions.ValueAsPercent = False
          series.ShowInLegend = True
     End If
     series.PointOptions.ValueNumericOptions.Format = NumericFormat.Number
     series.PointOptions.ValueNumericOptions.Precision = 1
Next