我正在使用mxml创建一个图表。 mxml标签仅创建具有水平轴和垂直轴的图表。
我的结果事件处理程序具有遍历xml结果集的actionscript代码,并创建所有系列(行系列和堆积条)。这部分代码工作正常。
现在我需要使用functionfill函数为每个系列设置单独的颜色。我发现的所有示例都在MXML标记中调用functionfill,如下所示:
<mx:ColumnSeries id="salesGoalSeries"
xField="Name"
yField="SalesGoal"
fillFunction="myFillFunction"
displayName="Sales Goal">
我无法从actionscript调用functionfill。
构建数据系列的部分代码如下:
if (node.attribute("ConfidenceStatus")=="Backlog"
|| node.attribute("ConfidenceStatus")=="Billings") {
// Create the new column series and set its properties.
var localSeries:ColumnSeries = new ColumnSeries();
localSeries.dataProvider = dataArray;
localSeries.yField = node.attribute("ConfidenceStatus");
localSeries.xField = "TimebyDay";
localSeries.displayName = node.attribute("ConfidenceStatus");
localSeries.setStyle("showDataEffect", ChangeEffect);
localSeries.fillFunction(setSeriesColor(xxx));
// Back up the current series on the chart.
var currentSeries:Array = chart.series;
// Add the new series to the current Array of series.
currentSeries.push(localSeries);
//Add Array of series to columnset
colSet.series.push(localSeries);
//assign columnset to chart
chart.series = [colSet];
我的setSeriesColor函数是:
private function setSeriesColor(element:ChartItem, index:Number):IFill {
var c:SolidColor = new SolidColor(0x00CC00);
var item:ColumnSeriesItem = ColumnSeriesItem(element);
//will put in logic here
return c;
}
我在行localSeries.fillFunction(setSeriesColor(xxx))中放入了哪些参数?
我尝试将localSeries作为第一个参数,但是我收到一个隐含的强制错误,告诉我localSeries不能被转换为ChartItem。
如何正确调用此功能?
答案 0 :(得分:1)
localSeries.fillFunction = setSeriesColor;
您现在拥有的代码实际上是按照设置的方式调用setSeriesColor。你只希望它引用函数的引用,而不是调用它,所以只需将它作为变量发送“setSeriesColor”。