Thx Alex! You're the man!
--- In [email protected], "Alex Harui" <[EMAIL PROTECTED]> wrote: > > The recommended practice is to define the fontSize on the column and not > the label. > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of handitan > Sent: Friday, November 02, 2007 8:49 AM > To: [email protected] > Subject: [flexcoders] Re: Flex 2.0.1: Calling all Flex Masters for this > interesting printing format issue > > > > Does anyone have any ideas/suggestions to tackle this printing issue? > I hope my explanation was clear enough. > > Thank you for reading. > > --- In [email protected] <mailto:flexcoders% 40yahoogroups.com> > , "handitan" <handitan@> wrote: > > > > I have been trying to solve this issue for days but still couldn't > > find the right solution. > > > > I am going to make as simple as I can about the issue. > > Here's the situation: > > I have this DataGrid > > <mx:DataGrid id="myDataGrid" width="100%" height="100%"> > > <mx:columns> > > <mx:DataGridColumn headerText="FirstName" dataField="fName" > > itemRenderer="Renderer.NameRenderer"/> > > <mx:DataGridColumn headerText="LastName" dataField="lName" > > itemRenderer="Renderer.NameRenderer"/> > > </mx:columns> > > </mx:DataGrid> > > =========================================== > > Now here's the NameRenderer's definition: > > <mx:HBox width="100%" horizontalAlign="left" verticalAlign="middle"> > > <mx:Script> > > <![CDATA[ > > override public function set data(value:Object):void { > > super.data = value; > > > > if (value != null) > > { > > myLabel.text = value; > > } > > > > ]]> > > </mx:Script> > > <!-- Remember the font size please. It relates to the issue- > -> > > <mx:Label id="myLabel" fontSize="14"> > > > > </mx:HBox> > > ================================================== > > > > Now, the grid displays fine in my flex app. Then I added a > > functionality to be able to print the grid using almost exactly the > > same like in this example: > > > http://livedocs.adobe.com/flex/2/langref/mx/printing/PrintDataGrid.htm > <http://livedocs.adobe.com/flex/2/langref/mx/printing/PrintDataGrid.ht m> > > > l#includeExamplesSummary > > with the following exceptions: > > - My FormPrintView doesn't have the all of the <mx:columns> stuffs > in > > PrintDataGrid. > > - Inside my doPrint() (this is in PrintDataGridExample section) > under > > thePrintView.myDataGrid.dataProvider = myDataGrid.dataProvider > > statement, I add this: > > thePrintView.myDataGrid.columns = myDataGrid.columns; > > ================================================== > > Now when I print it out, everything is working fine and dandy (good > > job Flex team!). > > > > Then one day, I was told to do a "bit" change. The Printouts need > to > > be in font-size 8 instead of 14. The grid looks great on the web > > using font-size 14 but when it is being printed out, it needs to be > > in font-size 8. > > > > So my question is how do you do that? > > Just to let you know, these were the things that I try: > > - In my FormPrintView, I added this attribute 'fontSize="8"'. I > > thought that this will take care the problem but it didn't. It > wasn't > > overriding myLabel's fontSize. > > - Then I do another way using Bindable strategy, this is what I did: > > == Create a global variable to store the font size. > > <GlobalFont.as> > > package myGlobals > > { > > [Bindable] > > public class GlobalFont > > { > > public static const DEFAULT_SIZE:int = 14; > > public static const PRINT_SIZE:int = 8; > > public static var myFontSize:int = DEFAULT_SIZE; > > } > > } > > > > ==Then in NameRenderer, I change myLabel to be like this: > > <mx:Label id="myLabel" fontSize="{GlobalFont.myFontSize}"> > > > > ==Then on my doPrint(), I add this before I assign the dataProvider > > and columns to thePrintView.myDataGrid: > > GlobalFont.myFontSize = GlobalFont.PRINT_SIZE > > > > ==Then I do the print. > > Result: It prints out with the font-size 8 :) But the Flex app will > > show all my grid's column content to be shifted off the column > after > > I scroll the grid up/down (you have to have large data that will > have > > the vertical scroll bar to appear). You can fix the display again > but > > clicking the column's header. > > > > Again I call all Flex Masters to share your wisdom in this matter. > > I have been given a deadline to fix this by early next week. So all > > ideas/suggestions/anything will help. > > > > Thank you! > > >

