`
a3mao
  • 浏览: 562929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex学习之八

    博客分类:
  • Flex
阅读更多
获取表格编辑后的值。
页面上表格:
<mx:DataGrid id="DG"   editable="true"  width="60%" height="40%" dataProvider="{_productModelGird}" itemEditEnd="onEditEnd(event)">
              <mx:columns>
                <mx:DataGridColumn headerText="Name" dataField="productId" editable="false" />
                <mx:DataGridColumn headerText="Age"  dataField="productName" editable="true"/>
                <mx:DataGridColumn headerText="Age"  dataField="productDetail"/>
              </mx:columns>
            </mx:DataGrid>


AS代码:
private function onEditEnd(e:DataGridEvent):void 
		  {  
		  	e.preventDefault();
            var beingEditField:String = e.dataField;  //获得当前列的dataField
            var colName:String = DG.columns[e.columnIndex].dataField;  
            //Alert.show("colName="+colName,"info");  
            if(beingEditField == "productName") 
            {  
              var oldLocal:String = e.itemRenderer.data.productName;
              var newLocale:String= TextInput(e.currentTarget.itemEditorInstance).text;
              Alert.show("您正在编辑列: " + beingEditField + " 将: " + oldLocal + " 编辑为: " + newLocale); //在此处可以加入需要的数据验证,或是自动修正等等功能.可以使用    e.preventDefault()来阻止默认行为  
            }  
          }



*********************************************************************
上面这个有一些问题,所以我又重新修改了一下,这个是flex4版本的。代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768">
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
			import mx.events.AdvancedDataGridEvent;
			import mx.controls.Alert;
			//import mx.containers.
			
			// Include the data for the AdvancedDataGrid control.
			[Bindable]
			private var dpADG:ArrayCollection = new ArrayCollection([
				{Artist:'Pavement', Album:'Slanted and Enchanted', Price:12.99},
				{Artist:'Pavement', Album:'Brighten the Corners', Price:13.99},
				{Artist:'Saner', Album:'A Child Once', Price:14.99},
				{Artist:'Saner', Album:'Helium Wings', Price:12.99},
				{Artist:'The Doors', Album:'The Doors', Price:10.99},
				{Artist:'The Doors', Album:'Morrison Hotel', Price:12.99},
				{Artist:'Grateful Dead', Album:'American Beauty', Price:11.99},
				{Artist:'Grateful Dead', Album:'In the Dark', Price:17.99},
				{Artist:'Grateful Dead', Album:'Shakedown Street', Price:13.99},
				{Artist:'The Doors', Album:'Strange Days', Price:12.99},
				{Artist:'The Doors', Album:'The Best of the Doors', Price:10.99}
			]);
			
			private function onEditEnd(e:AdvancedDataGridEvent):void    
			{     
				e.preventDefault();   
				//获得当前列的dataField   
				var colName:String = DG.columns[e.columnIndex].dataField;     
				if(colName == "Price")    
				{     
					var oldPrice:String = e.itemRenderer.data.Price;  
					trace(oldPrice);
					var newPrice:String = e.currentTarget.itemEditorInstance.text;
					
					trace("您正在编辑列: " + colName + " 将: " + oldPrice + " 编辑为: " + newPrice);
					Alert.show("您正在编辑列: " + colName + " 将: " + oldPrice + " 编辑为: " + newPrice);
				}     
			}  
		]]>
	</fx:Script>
	
	<mx:VBox  width="90%" height="90%">
		<mx:AdvancedDataGrid id="DG" editable="true" 
			width="100%" height="100%"  dataProvider="{dpADG}"  itemEditEnd="onEditEnd(event)" >
			<mx:columns>
				<mx:AdvancedDataGridColumn dataField="Artist"/>
				<mx:AdvancedDataGridColumn dataField="Album"/>
				<mx:AdvancedDataGridColumn dataField="Price" />
			</mx:columns>
		</mx:AdvancedDataGrid>
	</mx:VBox>
</s:Application>



分享到:
评论
5 楼 a3mao 2009-11-09  
xinyuexiaodi 写道
试了一下你的这个实例,碰到的问题:
(1) var newLocale:String= TextInput(e.currentTarget.itemEditorInstance).text;有错误提示“TextInput可能未定义”,导致编译不过,该怎么解决呢?
(2) var oldLocal:String = e.itemRenderer.data.productName;  
如果列不仅仅是列productName,而是有几列,那该怎么写这句呢
希望楼主能够帮忙解决一下,谢谢



我重新改了下程序,你在试试这个。
如果是要修改好几列值,那就把每次修改后的值保存到一个集合中就可以了
4 楼 carolwyj 2009-11-04  
加入  import mx.controls.TextInput;
可解决TextInput可能未定义
3 楼 xinyuexiaodi 2009-06-23  
回复楼主,我的意思是,我可能编辑productName,也可能编辑productNo,总不能根据每一列都写一个方法吧
2 楼 a3mao 2009-06-22  
“TextInput可能未定义”  这个错误可能是没有导入包

你正在编辑的只能选定某一个单元格,不会有多个个
1 楼 xinyuexiaodi 2009-06-21  
试了一下你的这个实例,碰到的问题:
(1) var newLocale:String= TextInput(e.currentTarget.itemEditorInstance).text;有错误提示“TextInput可能未定义”,导致编译不过,该怎么解决呢?
(2) var oldLocal:String = e.itemRenderer.data.productName;  
如果列不仅仅是列productName,而是有几列,那该怎么写这句呢
希望楼主能够帮忙解决一下,谢谢

相关推荐

    flex学习笔记 flex学习总结 flex学习教程

    本教程是作者精心编写的Flex学习资料,适合初学者入门,通过图文并茂的方式,帮助读者快速掌握Flex的基本概念和核心技能。 1. **Flex基础**:Flex提供了MXML和ActionScript两种编程方式。MXML是一种声明式语言,...

    Flex3学习指南-是初学者学习Flex必备资料1

    综上所述,"Flex3学习指南1-8"这个压缩包文件包含了Flex 3从基础到深入的多个章节,覆盖了Flex开发的各个方面,对于想要进入Flex开发领域的初学者来说,是一份非常宝贵的参考资料。通过深入学习和实践,读者可以逐步...

    flex3.0学习指南

    Flex 3.0 学习指南是一份专为想要深入理解和掌握Adobe Flex 3.0技术的初学者或开发者设计的教程。Flex是基于ActionScript 3.0和Flash Player的开源框架,用于构建富互联网应用程序(RIA)。这份指南旨在帮助你从零...

    flex4 学习资料

    8. ** Cairngorm、PureMVC等架构模式**:Flex4应用程序开发常采用的轻量级框架,帮助组织代码结构,实现模块化开发。 9. **事件处理**:深入理解Flex4的事件模型,包括事件冒泡、捕获和目标阶段,以及如何自定义...

    Flex学习相关资料

    本压缩包文件包含了一系列Flex学习的相关资料,帮助初学者和进阶者深入理解Flex技术。 1. **Flex基础概念** - **ActionScript**:Flex的主要编程语言,是一种基于ECMAScript的脚本语言,用于实现动态效果和控制...

    Flex中文帮助 学习Flex的好资料

    8. **Adobe AIR**:除了Web应用,Flex还可以用来开发桌面应用,借助Adobe AIR(Adobe Integrated Runtime),Flex应用可以脱离浏览器,在用户的桌面上独立运行。 9. **调试和测试**:Flex SDK包含了Flex Builder,...

    Flex学习PPT_wildh

    本资料“Flex学习PPT_wildh”显然是一个针对初学者的教程,旨在帮助用户快速入门Flex编程。下面我们将深入探讨Flex的基本概念、核心组件、开发环境以及其在RIA开发中的应用。 1. **Flex概述**:Flex是一种基于XML的...

    flex帮助文档--(flex学习文档)

    这个名为"flex帮助文档--(flex学习文档)"的压缩包文件包含了关于Flex的详细学习资料,尤其是针对初学者或者希望深入理解Flex的开发者。 1. **Flex的基本概念** Flex是一个基于MXML和ActionScript的开源框架,...

    flex4学习资料

    8. **事件驱动编程**:Flex 4的事件模型对于理解程序交互至关重要。资料可能涵盖事件监听、派发和处理的基本概念。 9. **模块化开发**:Flex 4支持模块化,帮助开发者组织大型项目。资料可能解释如何创建和加载模块...

    Flex学习与总结

    Flex学习与总结 Flex是一种用于构建富互联网应用(RIA)的开发框架,由Adobe公司提供。RIA技术旨在提升网络应用的交互性和表现力,克服传统HTML页面在用户体验上的局限。随着网络带宽的提高,RIA逐渐成为互联网应用...

    Flex学习之六

    在本篇“Flex学习之六”中,我们将深入探讨Adobe Flex这一开源框架,它主要用于构建富互联网应用程序(RIA)。Flex提供了强大的组件库和基于MXML与ActionScript的开发环境,使得开发者可以创建交互性强、用户体验...

    flex 学习详细笔记

    8. **事件模型**:Flex的事件模型是基于发布-订阅模式的,允许组件之间通信。事件可以通过添加监听器来处理,增强了用户交互的响应性。 9. **数据绑定**:Flex支持数据绑定,这意味着UI组件的状态可以直接与应用...

    与大家分享一下Flex 学习资料 (续)

    标题中的“Flex学习资料(续)”表明这是一个关于Adobe Flex技术的进阶学习资源,Flex是一种用于构建富互联网应用程序(RIA)的框架,基于ActionScript和MXML。它允许开发者创建交互性强、功能丰富的Web应用。 描述...

    flex学习例子,本人学习过程中做的例子

    这个“flex学习例子”压缩包包含了作者在学习Flex过程中的实践项目,旨在帮助其他学习者通过实例来理解Flex的用法和功能。 1. Flex基础:Flex是一个开放源代码的开发框架,主要用于创建交互式、高性能的Web应用程序...

    Flex3学习指南-是初学者学习Flex必备资料2

    8. **Flex应用程序生命周期**: 了解Flex组件的创建、初始化、显示和销毁过程对于优化性能和管理内存至关重要。 9. **Flex模块化开发**: Flex支持模块化,允许将大型应用程序分解为可独立加载的单元,从而改善加载...

    flex 学习资料1-4全

    这组"flex 学习资料1-4全"涵盖了从基础到进阶的Flex学习内容,通过四个PDF文档提供了全面的学习路径。 1. **基础概念** Flex的基础包括了解ActionScript,它是Flex编程的核心语言,基于ECMAScript。MXML是Flex的...

    flex学习flex中文帮助

    8. **项目构建和部署**:学习如何打包和发布Flex应用,以及在不同平台上部署Adobe AIR应用。 通过深入研究Flex中文帮助文档,开发者将能够熟练地运用Flex框架开发出高质量的RIA,同时也能适应不断变化的Web技术和...

    Flex学习资料总结

    在本资料包中,你将找到一系列关于Flex学习的文档和资源,涵盖了从基础到高级的各种主题。 1. **Flex入门知识.docx** - 这个文档可能是对Flex的基本概念和环境设置的介绍,包括安装Flex Builder或Flash Builder IDE...

    Flex学习帮助文档

    Flex学习帮助文档是一系列资源,旨在帮助初学者和经验丰富的开发者深入理解Flex技术并提升其开发技能。 1. **Flex基础** - **ActionScript**: Flex的核心编程语言是ActionScript,一种基于ECMAScript的脚本语言,...

    flex学习文本资料

    8. **Flex的学习资源**:压缩包“flex学习文本资料”可能包含了教程、手册、示例代码、实战项目等内容,对于初学者来说是宝贵的参考资料,可以帮助理解Flex的基本概念,掌握组件使用,熟悉ActionScript编程,并了解...

Global site tag (gtag.js) - Google Analytics