flex打印操作(FlexPrintJob)还有分页打印操作具体实现

首先要导入 import mx.printing.FlexPrintJob; import mx.printing.PrintAdvancedDataGrid; 1.使用FlexPrintJob进行打印操作 1.如果没有分页和下拉框的时候 复制代码 代码如下: public function doPrint():void{ var printer:FlexPrintJob = new FlexPrintJ

首先要导入 import mx.printing.FlexPrintJob;
import mx.printing.PrintAdvancedDataGrid;
1.使用FlexPrintJob进行打印操作
1.如果没有分页和下拉框的时候

复制代码 代码如下:


public function doPrint():void{
var printer:FlexPrintJob = new FlexPrintJob();
if(printer.start()){
printer.addObject(body);
printer.send();
}
}


这个方法即可 下面的可以使用,由于我使用的是Flex3,Flex3里面没有标签“PrintDataGrid”,只有“PrintAdvancedDataGrid”。所以下面就使用(“PrintAdvancedDataGrid”,“AdvancedDataGrid ”,“DataGrid ”)这三种方式,切记上面的方式只适合于单个页面(数据较少)且没有下拉框

复制代码 代码如下:


<mx:PrintAdvancedDataGrid x=”188″ y=”232″>
<mx:columns>
<mx:AdvancedDataGridColumn dataField=”username”/>
<mx:AdvancedDataGridColumn dataField=”password”/>
</mx:columns>
</mx:PrintAdvancedDataGrid>


————————————————————————————–
[/code]
<mx:AdvancedDataGrid x=”188″ y=”232″>
<mx:columns>
<mx:AdvancedDataGridColumn dataField=”username”/>
<mx:AdvancedDataGridColumn dataField=”password”/>
</mx:columns>
</mx:AdvancedDataGrid>
[/code]
—————————————————————————————–

复制代码 代码如下:


<mx:DataGrid x=”188″ y=”232″>
<mx:columns>
<mx:DataGridColumn dataField=”username”/>
<mx:DataGridColumn dataField=”password”/>
</mx:columns>
</mx:DataGrid>


———————————————————————————————————————————————————-
如果要使用分页效果,则必须使用标签”PrintAdvancedDataGrid”(Flex3中的标签)才能够实现分页效果

复制代码 代码如下:


private function doPrint():void{
var PrintJob:FlexPrintJob = new FlexPrintJob();
if(PrintJob.start()){
addChild(body);
//设置的打印视图属性
while(true){
PrintJob.addObject(body);
if(body.validNextPage){
body.nextPage();
}else{
break;
}
}
}
PrintJob.send();
}


这个方法,所对应的标签是:

复制代码 代码如下:


<mx:PrintAdvancedDataGrid x=”188″ y=”232″>
<mx:columns>
<mx:AdvancedDataGridColumn dataField=”username”/>
<mx:AdvancedDataGridColumn dataField=”password”/>
</mx:columns>
</mx:PrintAdvancedDataGrid>

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐