gpt4 book ai didi

graph - 如何在图表中设置默认系列/样式?

转载 作者:行者123 更新时间:2023-12-02 00:15:39 27 4
gpt4 key购买 nike

在 Ax2012 中使用图表,它们工作正常。但我想更改它在启动时显示的图表类型,例如“样条”图表,而不是默认的“柱状图”图表。

这是我现在拥有的: http://i.stack.imgur.com/RyR9v.png

这就是我想要的: http://i.stack.imgur.com/4cIIO.png

这是我的一些基本代码:

Graphics    graphics;
Microsoft.Dynamics.AX.Framework.Client.Controls.ChartToolBar chartToolbarControl1;
#MACROLIB.ChartFx
;

chartToolbarControl1 = chartToolbarControlHostChart.control();
chartToolbarControl1.set_ChartControl(Chart.control());

graphics = new graphics();
graphics.ManagedHostToControl(Chart);

graphics.parmCreateType(#ct_cluster| #cT_tool);
Graphics.parmSeriesType(#line);

graphics.create();

在这段代码之后,我加载了所有数据并显示了图表。这可行,但我希望它以样条图开始。这可以在加载后通过使用图表上方的图表控件并仅选择样条类型轻松完成,但我无法使用此设置加载图表。

如果我尝试使用 Graphics.parmSeriesType(#line); (或#pie 或其他)我的代码没有出现错误,但是当我运行它时出现错误:

Null could not be obtained.

我已经尝试使用其中的几个宏,但它们都会产生相同的错误,除非我使用#series_point。我也试过只插入 1-25 的常规整数,看看是否可行,但它们给了我同样的错误。

知道为什么会这样吗?

最佳答案

我查看了 Graphics 类和 ChartFX 宏,找到了设置列样式的方式和位置。要设置您自己的图表样式并遵循 AX 中的当前模式,请尝试以下操作:

  1. 通过搜索此列表找到 SeriesChartType 枚举整数值:http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.seriescharttype.aspx (这个列表是有序的,并且是从 0 开始的。Spline 是枚举值 4)。

  2. ChartFX 中为该值创建一个宏,如 #DEFINE.SERIES_SPLINE(4)ChartFX 宏中已经定义了三个这样的值(用于点、条形图和柱形图)。

  3. 修改 Graphics 类的 classDeclaration 以添加另一个宏:#DEFINE.SeriesChartTypeEnum_Spline("Spline")

  4. 修改Graphics类的setChartType方法。在方法中当前的 if 语句之后,添加:

    else if (seriesType == #SERIES_SPLINE)
    {
    newChartType = ClrInterop::parseClrEnum(#SeriesChartTypeEnum, #SeriesChartTypeEnum_Spline);
    }
  5. 现在您可以返回到原始代码示例,将 Graphics.parmSeriesType(#line); 替换为 Graphics.parmSeriesType(#SERIES_SPLINE);

关于graph - 如何在图表中设置默认系列/样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13341298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com