`
yexin218
  • 浏览: 970673 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Flex创建可编辑以及分页的DataGrid

    博客分类:
  • Flex
阅读更多

   之前那篇文章:使用Flex,Java,Json更新Mysql数据库 已经介绍了如何使用Json格式的数据从后台用remoteObject的方法读取后现在Flex的DataGrid中。但是如果数据的量很大,就要使用scroll的方式来浏览了,这样造就了很多不变。参考了javally的应用分页列表组件 后结合两个程序就可以比较完美的实现一个可以编辑的以及分页的dataGrid了。使得用户可以读取数据库数据,然后在编辑后,保存数据。有兴趣的话最后先阅读这两篇文章,这样之后就很容易理解了。关于使用Blazeds的配置我就省略了,请自行参考。

  java后台的处理同使用Flex,Java,Json更新Mysql数据库 大致上一样,只是更改了一些方法的名字。现在主要贴出前台Flex主程序的代码:

<?xml version="1.0"?>
<!-- DataGrid control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
	 creationComplete="creationComplete()" 
	xmlns:user="comp.*">
	<mx:Script>
		<![CDATA[
		import mx.controls.Alert;
		import mx.collections.ArrayCollection;
		import mx.rpc.events.ResultEvent;
		import com.adobe.serialization.json.JSON;
		import mx.rpc.events.ResultEvent;
        import mx.collections.ArrayCollection;	
		
           [Bindable]   
           private var ac:ArrayCollection;   
           //如果查询出来的数据为xml格式,调用这个方法   
           private function loadXmlData(xml:XML):void  
           {   
              ac=new ArrayCollection();   
              for each(var item:Object in xml.employee)//将Table换成XML中的根元素名称   
              {   
                  ac.addItem(item);   
              }    
              myDG.init(ac);   
           } 
           private function getGridDataAction():void{
            getDataObj.getGridData();
            labNote.text="正在读取...请稍候";
        }
           //查询出来的结果为数组,直接传递给init即可
			private function loadAcData(event:ResultEvent):void
			{  
				var rawArray:Array;
				var rawData:String = event.result as String;
			    rawArray = JSON.decode(rawData) as Array;
				ac=new ArrayCollection();	
				ac = new ArrayCollection(rawArray);			               
			    myDG.init(ac); 
			     labNote.text="读取成功,总共"+ac.length+"条员工信息!";
			}   
			           
           private function creationComplete():void
           {
           	//loadXmlData(employees);
           	getDataObj.getOperation('getGridData').send(); 
           }
           
           private function updateGridDataAction():void{
            //var objSend:Object = new Object();
            var dataString:String = JSON.encode(ac.toArray());
            //dataString = escape(dataString);
            updateDataObj.updateGridDataToDB(dataString);
            labNote.text = "请稍后...正在处理";
        }
        private function updateGridDataResult(event:ResultEvent):void{
            labNote.text = String(event.result as String);
        }
		]]>
	</mx:Script>
		
    <!-- remoteObject used to get data from mysql database -->
     <mx:RemoteObject id="getDataObj" destination="getGridData" source="pagegrid.PageGrid" showBusyCursor="true">
     <mx:method name="getGridData" result="loadAcData(event)"/>
    </mx:RemoteObject>
    <!-- update data to mysql database-->
    <mx:RemoteObject id="updateDataObj" destination="updateGridData" showBusyCursor="true" result="updateGridDataResult(event)"/>
    <mx:Panel title="Employee Inforamtion Management System" height="288" width="100%" 
        paddingTop="10" paddingLeft="10" paddingRight="10" layout="absolute">

    <!--设置pageSize为8,表示每页显示8条记录,不设置默认显示5条记录-->
   	<!--dataGridDoubleClick="showUserInfo()" -->
    <user:PaginationDataGrid id="myDG" label="Employees" 
      width="100%" height="175" pageSize="5">

       <user:arrColumns><!--为这个标签设置DataGridColumn,指示在DataGrid上显示的列-->

			<mx:DataGridColumn headerText="ID" dataField="id" editable="false"/>
			<mx:DataGridColumn headerText="Name" dataField="name" editable="true"/>
			<mx:DataGridColumn headerText="Gender" dataField="gender" editable="false"/>
            <mx:DataGridColumn headerText="Department" dataField="department" editable="false"/>
       </user:arrColumns>

    </user:PaginationDataGrid>	
    <mx:Button label="Refresh" x="417" y="183" width="120" click="getGridDataAction()"/>
    <mx:Button id="updateDataBtn"  x="72" y="183" label="Update" width="120" textAlign="center" click="updateGridDataAction()"/>
    <mx:Label id="labNote" x="10" y="214" width="637" color="#0000FF" height="24" fontSize="12" fontFamily="Times New Roman"/>
        
    </mx:Panel>
</mx:Application>  

 附件中包含了源码。

 


 
 

  • PageGrid.rar (554.4 KB)
  • 描述: WEB-INF/lib内的jar需要自行加载。请参考内附的bmp图片
  • 下载次数: 3597
  • 大小: 57.3 KB
14
0
分享到:
评论
9 楼 Yunjey 2015-12-10  
Yunjey 写道
这样子的话、grid中的editable如何设置啊?!

找到了、在PaginationDataGrid这里可以
8 楼 Yunjey 2015-12-10  
这样子的话、grid中的editable如何设置啊?!
7 楼 bcabchappy 2013-02-19  
谢谢,学习了。
6 楼 SoDifficult 2010-06-12  
ding 
5 楼 yexin218 2010-04-27  
oyhf521 写道
楼主能不能给个JAVA后台+flex 分页的例子

这个就是
4 楼 oyhf521 2010-04-26  
楼主能不能给个JAVA后台+flex 分页的例子
3 楼 wuzhou 2009-11-12  
不错,正学要这个
2 楼 hzs275481430 2009-10-12  
sks,楼主厉害!
1 楼 runthu 2009-01-21  
thanks!

相关推荐

    flex2.0创建可编辑及分页.txt

    ### Flex 2.0 创建可编辑及分页 DataGrid #### 一、背景介绍 在Flex开发中,经常需要处理大量的数据展示需求,尤其是在Web应用中,DataGrid是展示表格数据的常用组件之一。当数据量较大时,简单的滚动条方式已经不...

    flex3 对dataGrid 实现分页

    在Flex3中,数据网格(DataGrid)是用于展示大量结构化数据的组件,它允许用户进行排序、筛选和编辑。然而,当数据量过大时,一次性加载所有数据可能导致性能问题,此时就需要实现分页功能。本文将详细介绍如何在...

    flex 的datagrid分页

    1. **数据源与分页**:在Flex中,DataGrid的数据源通常由ArrayCollection或XMLListCollection等可迭代对象提供。为了实现分页,我们需要对数据源进行分页处理。这可以通过在服务器端对数据进行切片,或者在客户端...

    具有分页功能的flex的DataGrid

    在Flex开发中,DataGrid...解压并研究这些文件,可以帮助我们深入理解如何在Flex中实现分页DataGrid和数据导出到Excel的完整流程。同时,这也是一个很好的学习和参考案例,对于提升Flex应用的用户体验有着积极的意义。

    Flex Datagrid checkbox实现

    Flex Datagrid提供了许多高级特性,如排序、过滤、分页等,可以通过自定义列样式、数据提供程序和事件处理来实现。此外,还可以通过使用ItemEditor实现单元格编辑,或者通过使用AdvancedDataGrid组件来处理更复杂的...

    flex下拉dataGrid

    ComboBox是一个允许用户从下拉列表中选择一个项目的控件,它可以有一个可编辑的文本输入字段。我们可以通过设置它的dataProvider来填充下拉选项,这些选项通常是从数据服务获取的数组集合。在用户点击下拉按钮时,...

    Flex FooterSpark DataGrid 表格制作

    Flex FooterSpark DataGrid 是Adobe Flex框架中用于创建高级数据展示组件的一个重要工具,它在桌面和Web应用中广泛用于数据网格的展示。Flex是基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。...

    Flex-DataGrid源码及资料

    2. 鼠标双击可编辑:在默认情况下,Flex DataGrid的单元格是只读的。为了实现鼠标双击编辑,我们需要监听GridEvent.DOUBLE_CLICK事件,并在事件触发时开启相应的单元格或行的编辑模式。这可能涉及到设置...

    FLEX datagrid应用实例

    Flex DataGrid组件是一个可滚动的表格,用于显示大量的结构化数据。它提供了诸如排序、选择、分页等特性,使得用户能够高效地浏览和操作数据。DataGrid可以与各种数据源绑定,包括Array、ArrayCollection、XMLList等...

    flex分页控制

    ### Flex中的DataGrid分页控制实现 在Flex开发过程中,数据展示是非常常见且重要的功能之一。其中,`DataGrid`组件被广泛应用于显示表格形式的数据集合。为了优化用户体验及提高性能,分页处理成为了必不可少的功能...

    Flex Datagrid全选功能

    在Flex编程中,Datagrid组件是用于展示数据集的一个强大工具,它允许用户进行交互式的数据浏览和操作。"Flex Datagrid全选功能"是指在Datagrid中实现一个功能,让用户能够一键选择所有行,这在处理大量数据时非常...

    flex基于datagrid控件的增删改查及分页实现

    在本文中,我们将深入探讨如何在Flex中使用DataGrid控件来实现数据的增删改查及分页功能。Flex是一种强大的RIA(Rich Internet Application)开发框架,它基于ActionScript和MXML,允许开发者创建交互式的、数据驱动...

    Flex DataGrid 插入子组件

    DataGrid通常与ActionScript类和XML数据源一起使用,以创建高度定制的数据展示和编辑体验。 二、插入子组件的概念 在DataGrid中插入子组件意味着将其他UI元素(如Button、TextInput等)嵌入到DataGrid的单元格或行...

    java对象在前台flex的datagrid中显示

    DataGrid是Flex中用于展示数据集合的强大控件,它能够以表格的形式展示数据,支持排序、分页等功能。 标题"java对象在前台flex的datagrid中显示"指出,我们的任务是将后端Java程序创建的对象在Flex的用户界面,即...

    Flex中DataGrid和其它控件使用

    在Flex开发中,DataGrid是常用的数据显示控件,它能够以表格的形式展示大量数据,并提供了丰富的功能,如排序、分页、筛选等。本篇文章将深入探讨Flex中的DataGrid及其与其他控件的协同使用。 首先,DataGrid的核心...

    flex实现数据表格。

    Flex是一种基于...总之,Flex Datagrid是一个强大的工具,它提供了丰富的功能来展示和操作数据,是Flex开发中不可或缺的一部分。通过深入研究和实践,开发者能够创建出满足复杂需求的、高效的数据展示界面。

Global site tag (gtag.js) - Google Analytics