`

Flex实践——Datagrid的打印预览与打印

    博客分类:
  • flex
阅读更多

DataGridPrint.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
				height="450" 
				width="550">
	<mx:states>
		<mx:State name="printView">
			<mx:RemoveChild target="{myForm}"/>
			<mx:AddChild position="lastChild">
				<mx:Panel width="388" height="303" layout="absolute">
					<mx:Image id="img" x="10" y="10"/>
				</mx:Panel>
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:Button label="Back" click="currentState=&quot;&quot;"/>
			</mx:AddChild>
		</mx:State>
	</mx:states>
	
	<mx:Script>
		<![CDATA[
			import mx.printing.FlexPrintJob;
			import MyPrintView;
			import mx.graphics.ImageSnapshot;
			import mx.core.UIComponent;
			private function print(u:UIComponent):void{
				currentState="printView";
				var bmp:BitmapData = ImageSnapshot.captureBitmapData(u);
				var i:Bitmap = new Bitmap(bmp);                
				img.source = i;
				img.scaleContent = true;
			}
			
			public function doPrint():void {
				// Create a FlexPrintJob instance.
				var printJob:FlexPrintJob = new FlexPrintJob();
				
				// Start the print job.
				if(printJob.start()) {
					// Create a MyPrintView control as a child 
					// of the current view.
					var formPrintView:MyPrintView = new MyPrintView();
					addChild(formPrintView);   
					// Set the print control's data grid data provider to be 
					// the displayed data grid's data provider.
					formPrintView.myDataGrid.dataProvider = 
						myDataGrid.dataProvider;   
					// Add the SimplePrintview control to the print job.
					// For comparison, try setting the 
					// second parameter to "none".
					printJob.addObject(formPrintView);
					
					// Send the job to the printer.
					printJob.send();
					
					// Remove the print-specific control to free memory.
					removeChild(formPrintView);
				}
			}
		]]>
	</mx:Script>
	
	<!-- The form to display-->
	<mx:Form id="myForm">
		<mx:FormHeading label="Contact Information"/>
		<mx:FormItem label="Name: ">
			<mx:TextInput id="custName" 
						  width="200" 
						  text="Samuel Smith"
						  fontWeight="bold"/>
		</mx:FormItem>
		<mx:FormItem label="Phone: ">
			<mx:TextInput id="custPhone" 
						  width="200" 
						  text="617-555-1212"
						  fontWeight="bold"/>
		</mx:FormItem>
		<mx:FormItem label="Email: ">
			<mx:TextInput id="custEmail" 
						  width="200" 
						  text="sam@sam.com"
						  fontWeight="bold"/>
		</mx:FormItem>
		
		<mx:FormHeading label="Product Information"/>
		<mx:DataGrid id="myDataGrid" width="300">
			<mx:dataProvider>
				<mx:Object Product="Flash" Code="1000"/>
				<mx:Object Product="Flex" Code="2000"/>
				<mx:Object Product="ColdFusion" Code="3000"/>
				<mx:Object Product="JRun" Code="4000"/>
			</mx:dataProvider>
		</mx:DataGrid>
		<mx:Button label="PrintView" click="print(myDataGrid)"/>
		<mx:FormItem label="Label">
		</mx:FormItem>
		<mx:Button id="myButton" 
				   label="Print" 
				   click="doPrint();"/>
	</mx:Form>
	</mx:Application>

 

Component:
MyPrintView. mxml(这是一个组件)

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" 
		 backgroundColor="#FFFFFF" 
		 height="250" width="450" 
		 paddingTop="50" paddingLeft="50" paddingRight="50">
	
	<!-- The controls to print, a PrintDataGrid control. -->
	<mx:PrintDataGrid id="myDataGrid" width="100%">
		<mx:columns>
			<mx:DataGridColumn dataField="Product"/>
			<mx:DataGridColumn dataField="Code"/>
		</mx:columns>
	</mx:PrintDataGrid>
</mx:VBox>

 

  • src.rar (1.5 KB)
  • 下载次数: 32
分享到:
评论

相关推荐

    DataGrid的打印预览和打印

    ### DataGrid的打印预览和打印 #### 一、引言 在开发应用程序时,经常需要将`DataGrid`中的数据导出或者打印出来供用户查看或保存。本篇文章主要介绍如何实现`DataGrid`的打印预览以及实际打印功能。 #### 二、...

    DataGrid的打印预览和打印.rar

    本文将深入探讨如何实现DataGrid的打印预览和打印功能,以帮助开发者更好地理解和应用这一技术。 首先,我们要理解DataGrid打印的基本概念。在Windows Forms或WPF环境中,DataGrid的数据通常是动态绑定到数据源的,...

    easyui datagrid 表格 打印

    2. **CSS调整**:由于打印时浏览器可能会忽略或重置某些CSS样式,因此需要专门针对打印设置CSS媒体查询(@media print),确保打印样式与屏幕显示一致,包括字体、颜色、行高、列宽等。 3. **临时HTML页面**:创建...

    FLEX的datagrid合计、平均值

    本文将深入探讨如何在Flex的Datagrid中实现数据的合计与平均值计算,帮助开发者更好地理解和应用这些功能。 首先,我们要了解Flex的Datagrid组件的基本结构。Datagrid通常与数据提供者绑定,如ArrayCollection或...

    Flex4之DataGrid四个的示例【客户端和服务器端】

    本篇内容将深入探讨Flex4中的DataGrid组件在客户端和服务器端的应用,以及与JSON类的相关性。 1. **Flex4 DataGrid组件**: DataGrid是Flex中用于显示和编辑结构化数据的组件,它可以显示多行和多列的数据,并且...

    flex中的datagrid的分页定位以及高亮显示

    在Flex开发中,`Datagrid`组件是一种常用的展示数据列表的控件,而分页和数据高亮显示是提升用户体验的重要功能。本篇主要探讨如何在Flex的`Datagrid`中实现分页定位和高亮显示。 首先,分页定位涉及的主要任务是...

    vb.net编写的打印和打印预览datagrid中的数据

    本主题将深入探讨如何使用VB.NET编写程序来实现数据Gridview的打印和打印预览功能,特别关注当数据库为Access时的情况。 首先,我们需要理解`DataGridView`控件,它是Windows Forms中用于展示表格数据的一种常用...

    flex组件之DataGrid高级用法实例源码

    在Flex中,DataGrid通常与数据提供者(如 ArrayCollection 或 XML)关联,用于动态展示数据。 二、高级用法详解 1. **自定义列** DataGrid允许我们自定义列的显示样式和行为。例如,可以创建自定义的Column类,...

    Flex中组件datagrid导出Excel

    DataGrid通常与数据提供者(如ArrayCollection)绑定,这样当数据提供者中的数据发生变化时,DataGrid会自动更新。在导出数据时,我们需要获取这个数据提供者,然后将其转换成适合Excel的格式。 3. **XML序列化**:...

    flex中dataGrid导出数据到excel中

    flex中dataGrid导出数据到excel中,不存在乱码问题

    flex动态生成datagrid表头

    在Flex开发中,数据网格(DataGrid)是一种常用的组件,用于显示二维表格数据。它能够灵活地处理大量数据,并提供排序、筛选等多种功能。而动态生成DataGrid表头则是在运行时根据数据源来创建列,这在处理未知数量或...

    Flex动态创建DataGrid设置图片

    在Flex开发中,DataGrid控件是用于展示数据集的常用组件,它可以显示多行多列的数据,并且具有丰富的...通过实践这些方法,你将能够灵活地在Flex应用程序的DataGrid中动态展示图片,增强用户界面的视觉效果和交互性。

    打印预览(flex)

    Flex打印预览是一种在Flex应用程序中实现打印功能的技术,它允许用户在实际打印之前查看文档的打印效果。Flex是Adobe公司开发的一种基于ActionScript 3.0的富互联网应用程序(RIA)框架,它使用MXML和AS3进行编程,...

    FLEX4实践—动态生成DataGrid及应用客户化itemRenderer.doc

    首先,`DataGrid`组件是Flex中用于展示表格数据的标准组件,通常与数据提供器(`dataProvider`)一起使用。在这个例子中,`gridProvider`被用来设置`DataGrid`的数据源,而`gridColumns`则定义了列的信息。在Flex4中...

    .net C# DataGrid打印类

    根据提供的信息,我们可以深入探讨如何实现一个自定义的.NET C# DataGrid打印功能。这个案例主要涉及到了如何重写`DataGrid`控件以便能够打印其显示的内容。下面将详细介绍如何构建这样的打印类以及其中涉及的关键...

    FLEX强大的datagrid

    在Flex开发中,`DataGrid`控件是一个非常重要的组件,它用于展示数据集,并允许用户进行交互操作,如排序、选择和编辑。标题提到的“FLEX强大的datagrid”指的是对Flex原生`DataGrid`组件的功能增强或优化,使其具有...

Global site tag (gtag.js) - Google Analytics