Printing images is hard because image loading is asynchronous.  Check
out SuperImage on quietlyscheming.com.  It may help.

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of handitan
Sent: Tuesday, October 23, 2007 3:14 PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Flex 2.0.1: itemRenderer won't get printed using
PrintDataGrid

 

Hi,

I have an interesting problem here.
FYI, I have searched through the forum, and reading the docs but I 
still couldn't find the solution. I think I do know what's the 
problem.

Here's the situation:
I have a datagrid with 3 columns. One of the columns has an 
itemRenderer that will display an image. This itemRenderer loads the 
images in REAL-TIME <--- this is important for the issue that I am 
going to point out.
The image got displayed when I run the app ,and when I print the 
dataGrid by having it as a child of FlexPrintJob object will also 
print out the image.

Now here comes the problem:
As you all know, it's better to use PrintDataGrid for optimization, 
well-formatted output, yada yada ....

So I include PrintDataGrid in my print function, assigning it with 
the neccessary dataProvider and columns, here's the example:
---------------------------------------------------------
printView.thePrintDataGrid.dataProvider = dataGridSource.dataProvider;
printView.thePrintDataGrid.columns = dataGridSource.columns;
---------------------------------------------------------
And then add printView to the FlexPrintJob obj as its child:
---------------------------------------------------------
printJob.addObject(printView);
---------------------------------------------------------

After that, I ask the dataGrid to be printed again and the image 
won't be printed out.
So after quite long investigation, I found out that the images don't 
get displayed because thePrintDataGrid doesn't have enough time to 
load the images. If I embed the image in compile-time using @Embed 
yada..yada..., the image will be printed but I don't want it to be in 
compile-time.

Please enlighten this grasshopper.

So 

 

Reply via email to