Hi

Did you check out FlexPrintJob and PrintDataGrid?

http://livedocs.adobe.com/flex/3/langref/mx/printing/FlexPrintJob.html

Those can handle things you are asking for.

-abdul

On Feb 15, 11:28 pm, "[email protected]"
<[email protected]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to