Anybody have an idea on this.. thanks Sandeep
On Feb 14, 1:59 pm, Sandeep P P <[email protected]> wrote: > Hi, I have requirement like a Grid with some 10 grid row.. and each row > is having around 50 elements.. > some thing like > firstname secondname thirdname ......... around 50 items > firstname1 > .............. > ............. > around 10 items. > > My screen will be showing 6 columns and the complete (10) row.. > When i click print... the first 6 columns will come and below this > next 6 columns i.e 7-12 column index will come like wise the complete > 50 rows.. > > I have done a POC for this, I am able to print, but everything is coming > in a > single page with scroll bar in the page.. i want multiple pages if a > single page > is having more than 24 columns (6columns x 4sets) > > As the multiple pages requirement is critical can somebody help me out, > to fix this issue > > for some reason i cannot use PrintDataGrid in my Print format..otherwise > i could use attribute validNextPage and method nextPage() to achieve this. > > I am sharing the entire POC code.. > > Thanks in advance > > components . GridPrintViewMx.mxml > > <?xml version="1.0" encoding="utf-8"?> > <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" > height="100%" horizontalAlign="center"> > <mx:Repeater id="boxRp"> > <mx:HBox width="550" height="200" borderColor="#000000" borderThickness="2" > borderStyle="solid" horizontalAlign="left" verticalAlign="middle" > paddingLeft="10" paddingRight="10" horizontalScrollPolicy="off" > verticalScrollPolicy="off"> > > <mx:Repeater id="rptr" dataProvider="{boxRp.currentItem}"> > <mx:Grid borderColor="#FFFFFF" borderStyle="solid" borderThickness="2"> > <mx:GridRow> > <mx:GridItem> > <mx:HBox> > <mx:Label id="text1" text="{rptr.currentItem.firstName}"/> > </mx:HBox> > </mx:GridItem> > </mx:GridRow> > <mx:GridRow> > <mx:GridItem> > <mx:HBox> > <mx:Label id="text2" text="{rptr.currentItem.secondName}"/> > </mx:HBox> > </mx:GridItem> > </mx:GridRow> > <mx:GridRow> > <mx:GridItem> > <mx:HBox> > <mx:Label id="text3" text="{rptr.currentItem.middleName}"/> > </mx:HBox> > </mx:GridItem> > </mx:GridRow> > </mx:Grid> > > <mx:Spacer width="10"/> > </mx:Repeater> > </mx:HBox> > > </mx:Repeater> > </mx:VBox> > > PrintTest.mxml > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="horizontal" creationComplete="init()"> > <mx:Script> > <![CDATA[ > import mx.printing.FlexPrintJobScaleType; > import mx.printing.FlexPrintJob; > import components.GridPrintViewMx; > import mx.collections.ArrayCollection; > [Bindable] > var dp:ArrayCollection = new ArrayCollection(); > [Bindable] > var tempArray:ArrayCollection = new ArrayCollection(); > public function init():void > {} > > public function createData(items:int):void > { > var tempArray:ArrayCollection = new ArrayCollection(); > if(dp.length > 0) > dp.removeAll(); > for(var i:int = 0; i<items; i++) > { > var obj:Object = new Object(); > obj.firstName = "first"+i; > obj.secondName = "second"+i; > obj.middleName = "middle"+i; > tempArray.addItem(obj);} > > dp = tempArray; > box.invalidateDisplayList();} > > public function doPrint():void { > // Create a FlexPrintJob instance. > var printJob:FlexPrintJob = new FlexPrintJob(); > var oneRow:ArrayCollection = new ArrayCollection(); > // Start the print job. > if (printJob.start()) { > > var thePrintView:GridPrintViewMx = new GridPrintViewMx(); > addChild(thePrintView); > > // Set the print view properties. > thePrintView.width=printJob.pageWidth; > thePrintView.height=printJob.pageHeight; > > thePrintView.boxRp.dataProvider = createPrintGridData(dp as > ArrayCollection); > > printJob.addObject(thePrintView,FlexPrintJobScaleType.SHOW_ALL); > > removeChild(thePrintView); > } > // Send the job to the printer. > printJob.send(); > } > > public function > createPrintGridData(gridData:ArrayCollection):ArrayCollection > { > var lastpoint:int = 0; > if(gridData.length>0) > { > > for(var i:int=1; i<=gridData.length ; i++) > { > if(i%6 == 0) > { > tempArray.addItem(gridData.toArray().slice(lastpoint,i)); > lastpoint = i; > } > } > > if(gridData.length%6 != 0) > > tempArray.addItem(gridData.toArray().slice(lastpoint,gridData.length)); > > } > > return tempArray; > } > ]]> > </mx:Script> > <mx:HBox id="box" width="500" height="200" borderColor="#000000" > borderThickness="2" borderStyle="solid" verticalAlign="middle" > paddingLeft="10" paddingRight="10"> > <mx:Repeater id="rptr" dataProvider="{dp}"> > > <mx:Grid borderColor="#FFFFFF" borderStyle="solid" borderThickness="2"> > <mx:GridRow> > <mx:GridItem> > <mx:HBox> > <mx:Label id="text1" text="{rptr.currentItem.firstName}"/> > </mx:HBox> > </mx:GridItem> > </mx:GridRow> > <mx:GridRow> > <mx:GridItem> > <mx:HBox> > <mx:Label id="text2" text="{rptr.currentItem.secondName}"/> > </mx:HBox> > </mx:GridItem> > </mx:GridRow> > <mx:GridRow> > <mx:GridItem> > <mx:HBox> > <mx:Label id="text3" text="{rptr.currentItem.middleName}"/> > </mx:HBox> > </mx:GridItem> > </mx:GridRow> > > </mx:Grid> > > <mx:Spacer width="10"/> > </mx:Repeater> > </mx:HBox> > <mx:VBox> > <mx:Button id="printDG" > label="Print" > click="doPrint();"/> > <mx:HBox> > <mx:TextInput id="items" width="50"/> > <mx:Button id="itemsButton" label="Fill It" > click="createData(int(items.text))"/> > </mx:HBox> > </mx:VBox> > </mx:Application> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Flex India Community" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/flex_india?hl=en -~----------~----~----~----~------~----~------~--~---

