Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DevExpress饼图图例文本(asp.net)_C#_Asp.net_Devexpress - Fatal编程技术网

C# DevExpress饼图图例文本(asp.net)

C# DevExpress饼图图例文本(asp.net),c#,asp.net,devexpress,C#,Asp.net,Devexpress,我刚刚开始使用DevExpress图表组件,正在试用饼图 它工作得很好,但我有一个问题,我在任何地方都找不到答案,即使它可能很简单 图例显示了百分比,但我需要它显示“ArgumentDataMember”,否则图例并没有真正的帮助 这是简短的代码: Series series1 = new Series("Series1", ViewType.Pie3D); chartControl.Series.Add(series1); series1.DataSource =

我刚刚开始使用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;没用


有人知道如何将参数(数据名)用作图例文本而不是值吗?

您可以将以下代码与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.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;
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
NET示例

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

我很高兴帮助你^^