Flex数据网格打印问题,页面大小为

问题描述:

我需要在A4大小的页面中打印以下数据网格。它不适合与页面大小和dataprovider不工作的printdatagrid.Pleasecorrect我。Flex数据网格打印问题,页面大小为

enter image description here

电流输出是:

enter image description here

我的数据网格中:

<mx:DataGrid id="dashboardList" width="100%" height="95%" 
              alternatingItemColors="[0x373737, 0x373737]" 
              borderColor="#FFFFFF" borderStyle="inset" 
              chromeColor="#295A7D" contentBackgroundColor="#373737" 
              dataProvider="{allTrancList}" fontWeight="normal" 
              horizontalGridLineColor="#858585" click="productDatagrid_clickHandler(event)" 
              horizontalGridLines="true" variableRowHeight="true" 
              wordWrap="true"> 
            <mx:columns> 
             <mx:DataGridColumn width="60" headerText="S.No" 
                  labelFunction="serialNoLabelFunc2"/>         
             <mx:DataGridColumn width="60" dataField="trancCode" 
                  headerText="Order ID"/> 
             <mx:DataGridColumn dataField="date" headerText=" Date" 
                  labelFunction="getDateLabel"/> 
             <mx:DataGridColumn dataField="clientName" 
                  headerText="Client name"/> 
             <mx:DataGridColumn width="90" dataField="clientCode" 
                  headerText="Client code"/> 
             <mx:DataGridColumn dataField="itemType" 
                  headerText="Work/Product"/> 
             <mx:DataGridColumn width="60" dataField="itemNumbers" 
                  headerText="Count"/> 

             <mx:DataGridColumn dataField="cost" headerText="Cost"/> 

             <mx:DataGridColumn dataField="discountAmount" 
                  headerText="Discount"/> 
             <mx:DataGridColumn dataField="tax" headerText="Tax"/> 

             <mx:DataGridColumn dataField="total" headerText="Total"/> 

             <mx:DataGridColumn dataField="paymondmode" 
                  headerText="Payment mode"/> 
            </mx:columns> 
           </mx:DataGrid> 

我printData格:

<mx:PrintDataGrid id="myDataGrid" width="99%" height="100%"> 
     <mx:columns> 

      <mx:DataGridColumn width="60" dataField="trancCode" 
           headerText="Order ID"/> 

      <mx:DataGridColumn dataField="clientName" 
           headerText="Client"/> 
      <mx:DataGridColumn width="90" dataField="clientCode" 
           headerText="Client code"/> 
      <mx:DataGridColumn dataField="itemType" 
           headerText="Type"/> 
      <mx:DataGridColumn width="60" dataField="itemNumbers" 
           headerText="Count"/> 

      <mx:DataGridColumn dataField="cost" headerText="Cost"/> 

      <mx:DataGridColumn dataField="discountAmount" 
           headerText="Discount"/> 
      <mx:DataGridColumn dataField="tax" headerText="Tax"/> 

      <mx:DataGridColumn dataField="total" headerText="Total"/> 

      <mx:DataGridColumn dataField="paymondmode" 
           headerText="Payment mode"/> 
     </mx:columns> 
    </mx:PrintDataGrid> 

我的打印代码:

var thePrintView:FormPrintView = new FormPrintView(); 
        addElement(thePrintView); 

        // Set the print view properties. 
        thePrintView.width=printJob.pageWidth; 
        thePrintView.height=printJob.pageHeight; 
        thePrintView.prodTotal = prodTotal; 

        // Set the data provider of the FormPrintView 
        // component's DataGrid to be the data provider of 
        // the displayed DataGrid. 
       // thePrintView.myDataGrid=PrintDataGrid(dashboardList); 
        thePrintView.myDataGrid.dataProvider =allTrancList; 
+0

有你尝试在PrintDataGrid上设置variableRowHeight =“true”wordWrap =“true”,并将其他属性设置为与dashboardList datagrid相同。像: - 2013-02-12 07:31:38

你可以找AlivePDFPurePDF,这两种方法都将为您提供更多的空间,有很多的可能性,展开你的翅膀能满足不断变化的需求。

请找到下面的代码(此代码只是在对于你的要求的可能性的洞察力,你可以找到从purePDF网站的测试文件全LIB [链接上述) -

package 
{ 
import flash.events.Event; 

import org.purepdf.colors.RGBColor; 
import org.purepdf.elements.Paragraph; 
import org.purepdf.elements.RectangleElement; 
import org.purepdf.pdf.PdfPCell; 
import org.purepdf.pdf.PdfPTable; 

public class PdfPTableColors extends DefaultBasicExample 
{ 
    public function PdfPTableColors(d_list:Array=null) 
    { 
     super(["Customize border and background color","of table cells"]); 
    } 

    override protected function execute(event:Event=null):void 
    { 
     super.execute(); 
     createDocument(); 
     document.open(); 

     registerDefaultFont(); 

     var table: PdfPTable = new PdfPTable(4); 
     table.widthPercentage = 100; 
     var cell: PdfPCell; 
     cell = PdfPCell.fromPhrase(new Paragraph("test colors:")); 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("red/no borders")); 
     cell.border = RectangleElement.NO_BORDER; 
     cell.backgroundColor = RGBColor.RED; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("green/magenta bottom border")); 
     cell.border = RectangleElement.BOTTOM; 
     cell.borderColorBottom = RGBColor.MAGENTA; 
     cell.borderWidthBottom = 10; 
     cell.backgroundColor = RGBColor.GREEN; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("blue/cyan top border + padding")); 
     cell.border = RectangleElement.TOP; 
     cell.useBorderPadding = true; 
     cell.borderWidthTop = 5; 
     cell.borderColorTop = RGBColor.CYAN; 
     cell.backgroundColor = RGBColor.BLUE; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("test GrayFill:")); 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("0.25")); 
     cell.border = RectangleElement.NO_BORDER; 
     cell.grayFill = 0.25; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("0.5")); 
     cell.border = RectangleElement.NO_BORDER; 
     cell.grayFill = 0.5; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("0.75")); 
     cell.border = RectangleElement.NO_BORDER; 
     cell.grayFill = 0.75; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("test bordercolors:")); 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("different borders")); 
     cell.borderWidthLeft = 6; 
     cell.borderWidthBottom = 5; 
     cell.borderWidthRight = 4; 
     cell.borderWidthTop = 2; 
     cell.borderColorLeft = RGBColor.RED; 
     cell.borderColorBottom = RGBColor.ORANGE; 
     cell.borderColorRight = RGBColor.YELLOW; 
     cell.borderColorTop = RGBColor.GREEN; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("with correct padding")); 
     cell.useBorderPadding = true; 
     cell.borderWidthLeft = 6; 
     cell.borderWidthBottom = 5; 
     cell.borderWidthRight = 4; 
     cell.borderWidthTop = 2; 
     cell.borderColorLeft = RGBColor.RED; 
     cell.borderColorBottom = RGBColor.ORANGE; 
     cell.borderColorRight = RGBColor.YELLOW; 
     cell.borderColorTop = RGBColor.GREEN; 
     table.addCell(cell); 

     cell = PdfPCell.fromPhrase(new Paragraph("orange border")); 
     cell.borderWidth = 6; 
     cell.borderColor = RGBColor.ORANGE; 
     table.addCell(cell); 

     document.add(table); 
     document.close(); 
     save(); 
    } 
} 
} 
+0

您可以给任何adobe的链接空气样本。 – Naju 2013-02-12 13:51:27