Hello everyone!! I was hoping someone could help me... here's
the thing I'm trying to do:
I have a column chart that its horizontal axis has a maximum
of 42000 values. The problem is that if the user prints this chart
it will show many values together and he couldn't see it well. So,
I have implemented a HTTPService that populates the chart based in
two parameters and I want to separate that chart in many charts
with an interval of values. For example, first page: values from 0
to 200, second page: values from 200 to 400 and so on...
For doing this I tried to call the HTTPService everytime I
wanted a new interval of values, implementing its result event...
but doesn't work!!! I'm not able to add to the PrintJob the chart
that I re-populated with the new service.send() method, instead it
prints the first chart o the last one many times!!! could someone
help me please? here's my code:
public function doPrint():void
{
var of:int=0;
var dis:int=200;
i=0;
try
{
printJob=new FlexPrintJob();
if(printJob.start())
{
//I want to print 4 charts (values from 0 to 800)
while(i < 4)
{
srv.url="
http://localhost:1937/Web/datosFlex.aspx?offset="+ of.toString() +
"&distancia=" + dis.toString();
var call:Object = srv.send();
// Add a variable to the call object that is returned.
// You can name this variable whatever you want.
call.marker = "option1";
i++;
of=of+200;
printJob.addObject(this.chart,mx.printing.FlexPrintJobScaleType.MATCH_WIDTH);
}
mx.controls.Alert.show(i.toString());
}
printJob.send();
}
catch (error:Error)
{
mx.controls.Alert.show("<Error> " + error.message);
}
}
// In a result event listener, execute conditional
// logic based on the value of call.marker.
private function resultHandler(event:ResultEvent):void {
//mx.controls.Alert.show("dentro del evento Result");
var call:Object = event.token;
if (call.marker == "option1") {
//mx.controls.Alert.show("ya tenemos respuesta");
// Hundreds of milliseconds later, my results
// have arrived, and I can add them to my list!
call.marker="";
this.resultado.text=this.resultado.text+" " +
srv.url.toString();
}
}
I tried everything, I wrote the PrintJob.addObject in the
result event method but it shows an error. Also, I tried to save
every new chart in an object array but it saves a referenfe to that
chart, and I want to clone it, so I can print every position of the
array (every chart).
I don't know if I explained the problem right, hope you
understand what I'm trying to say :) Can anyone help me please???
Regards!