Well done John!!

2011/10/12 John Fletcher <fletch...@gmail.com>

> **
>
>
> aha I figured it out, the series array is getting mucked up/changed around
> by the print specific line chart. You have to duplicate it, see
> http://www.saltwebsites.com/2011/flex-print-specific-chart
> John
>
> 2011/10/11 John Fletcher
>
>> I followed the advice at
>> http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7c80.html
>>  to
>> print "using a print-specific output format" in Flex 4.5, however this
>> causes the data to disappear from my chart! Try the code below - is this a
>> bug or is there a simple solution? One interesting side-effect is that after
>> you print and the data disappears from your chart, you can still hover over
>> the empty chart and get the dataTips pop up! :-)
>>
>> John
>>
>>
>> <?xml version="1.0" encoding="utf-8"?>
>> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009";
>>         xmlns:s="library://ns.adobe.com/flex/spark"
>>         xmlns:mx="library://ns.adobe.com/flex/mx"
>>         width="800"
>>         height="600">
>>
>>  <fx:Script>
>>   <![CDATA[
>>    import mx.charts.LineChart;
>>    import mx.printing.FlexPrintJob;
>>    import mx.collections.ArrayCollection;
>>
>>    [Bindable]
>>    public var expensesAC:ArrayCollection = new ArrayCollection( [
>>     { Month: "Jan", Profit: 2000, Expenses: 1500, Amount: 450 },
>>     { Month: "Feb", Profit: 1000, Expenses: 200, Amount: 600 },
>>     { Month: "Mar", Profit: 1500, Expenses: 500, Amount: 300 },
>>     { Month: "Apr", Profit: 1800, Expenses: 1200, Amount: 900 },
>>     { Month: "May", Profit: 2400, Expenses: 575, Amount: 500 } ]);
>>
>>    protected function button1_clickHandler(event:MouseEvent):void {
>>     var printJob:FlexPrintJob = new FlexPrintJob();
>>     if (printJob.start()) {
>>      var lc:LineChart = new LineChart();
>>      lc.height = mlc.height;
>>      lc.width = mlc.width;
>>      lc.dataProvider = mlc.dataProvider;
>>      lc.series = mlc.series;
>>      lc.seriesFilters = mlc.seriesFilters;
>>      lc.horizontalAxis = mlc.horizontalAxis;
>>      lc.verticalAxis = mlc.verticalAxis;
>>
>>      addElement(lc);
>>
>>      printJob.addObject(lc);
>>      printJob.send();
>>      removeElement(lc);
>>     }
>>    }
>>   ]]>
>>  </fx:Script>
>> <s:HGroup>
>>  <mx:LineChart id="mlc" dataProvider="{expensesAC}" showDataTips="true">
>>   <mx:horizontalAxis>
>>    <mx:CategoryAxis categoryField="Month"/>
>>   </mx:horizontalAxis>
>>
>>   <mx:series>
>>    <mx:LineSeries yField="Profit" form="curve" displayName="Profit"/>
>>    <mx:LineSeries yField="Expenses" form="curve" displayName="Expenses"/>
>>    <mx:LineSeries yField="Amount" form="curve" displayName="Amount"/>
>>   </mx:series>
>>  </mx:LineChart>
>>
>>  <s:Button label="print" click="button1_clickHandler(event)"/>
>> </s:HGroup>
>> </s:WindowedApplication>
>>
>>
>
>  
>

Reply via email to