`
zhuobinzhou
  • 浏览: 136622 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类

DataGrid_单击_双击_editable

阅读更多

单击例子:<mx:DataGrid id="dg" initialize="dg.dataProvider=arr" editable="true">

<?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/mx" 
			   xmlns:local="*" 
			   minWidth="955" minHeight="600">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			private var arr:Array = [
				{ firstName: "Alex", lastName: "Harui" },
				{ firstName: "Gordon", lastName: "Smith" },
				{ firstName: "Deepa", lastName: "Subramanian" },
				{ firstName: "Matt", lastName: "Chotin" },
				{ firstName: "Ely", lastName: "Greenfield" },
				{ firstName: "Kevin", lastName: "Lynch" },
				{ firstName: "Shantanu", lastName: "Narayan" },
				{ firstName: "Joan", lastName: "Lafferty" },
				{ firstName: "Ryan", lastName: "Frishberg" },
				{ firstName: "Jason", lastName: "Szeto" },
				{ firstName: "Mark", lastName: "Anders" },
				{ firstName: "Peter", lastName: "Flynn" },
				{ firstName: "Heidi", lastName: "Williams" }
				
			];
		]]>
	</fx:Script>
	<mx:DataGrid id="dg" initialize="dg.dataProvider=arr" editable="true">
		<mx:columns>
			<mx:DataGridColumn dataField="firstName" headerText="First Name" />
			<mx:DataGridColumn dataField="lastName" headerText="Last Name" />
		</mx:columns>
	</mx:DataGrid>
</s:Application>

 

在具体的列中进行再次设置:

<?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/mx" 
			   xmlns:local="*" 
			   minWidth="955" minHeight="600">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			private var arr:Array = [
				{ firstName: "Alex", lastName: "Harui" },
				{ firstName: "Gordon", lastName: "Smith" },
				{ firstName: "Deepa", lastName: "Subramanian" },
				{ firstName: "Matt", lastName: "Chotin" },
				{ firstName: "Ely", lastName: "Greenfield" },
				{ firstName: "Kevin", lastName: "Lynch" },
				{ firstName: "Shantanu", lastName: "Narayan" },
				{ firstName: "Joan", lastName: "Lafferty" },
				{ firstName: "Ryan", lastName: "Frishberg" },
				{ firstName: "Jason", lastName: "Szeto" },
				{ firstName: "Mark", lastName: "Anders" },
				{ firstName: "Peter", lastName: "Flynn" },
				{ firstName: "Heidi", lastName: "Williams" }
				
			];
		]]>
	</fx:Script>
	<mx:DataGrid id="dg" initialize="dg.dataProvider=arr" editable="true">
		<mx:columns>
			<mx:DataGridColumn dataField="firstName" headerText="First Name" editable="false"/>
			<mx:DataGridColumn dataField="lastName" headerText="Last Name" />
		</mx:columns>
	</mx:DataGrid>
</s:Application>

 

3、编写自己的doubleClick类,实现双击修改:

 

package 
{
	import flash.events.MouseEvent;
	import mx.controls.DataGrid;
	import mx.controls.dataGridClasses.DataGridColumn;
	import mx.controls.listClasses.IDropInListItemRenderer;
	import mx.controls.listClasses.IListItemRenderer;
	import mx.core.EventPriority;
	import mx.events.DataGridEvent;
	
	/** 
	 * DataGrid that only allows editing if you double click
	 */
	public class DoubleClickDataGrid extends DataGrid
	{
		
		public function DoubleClickDataGrid()
		{
			super();
			doubleClickEnabled = true;
		}
		
		override protected function mouseDoubleClickHandler(event:MouseEvent):void
		{
			var dataGridEvent:DataGridEvent;
			var r:IListItemRenderer;
			var dgColumn:DataGridColumn;
			
			r = mouseEventToItemRenderer(event);
			if (r && r != itemEditorInstance)
			{
				var dilr:IDropInListItemRenderer = IDropInListItemRenderer(r);
				if (columns[dilr.listData.columnIndex].editable)
				{
					dgColumn = columns[dilr.listData.columnIndex];
					dataGridEvent = new DataGridEvent(DataGridEvent.ITEM_EDIT_BEGINNING, false, true);
					// ITEM_EDIT events are cancelable
					
					dataGridEvent.columnIndex = dilr.listData.columnIndex;
					dataGridEvent.dataField = dgColumn.dataField;
					dataGridEvent.rowIndex = dilr.listData.rowIndex + verticalScrollPosition;
					dataGridEvent.itemRenderer = r;
					dispatchEvent(dataGridEvent);
				}
			}
			
			super.mouseDoubleClickHandler(event);
		}
		
		override protected function mouseUpHandler(event:MouseEvent):void
		{
			var r:IListItemRenderer;
			var dgColumn:DataGridColumn;
			
			r = mouseEventToItemRenderer(event);
			if (r)
			{
				var dilr:IDropInListItemRenderer = IDropInListItemRenderer(r);
				if (columns[dilr.listData.columnIndex].editable)
				{
					dgColumn = columns[dilr.listData.columnIndex];
					dgColumn.editable = false;
				}
			}
			
			super.mouseUpHandler(event);
			
			if (dgColumn)
				dgColumn.editable = true;
		}
	}
}

 

<?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/mx" 
			   xmlns:local="*" 
			   minWidth="955" minHeight="600">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			private var arr:Array = [
				{ firstName: "Alex", lastName: "Harui" },
				{ firstName: "Gordon", lastName: "Smith" },
				{ firstName: "Deepa", lastName: "Subramanian" },
				{ firstName: "Matt", lastName: "Chotin" },
				{ firstName: "Ely", lastName: "Greenfield" },
				{ firstName: "Kevin", lastName: "Lynch" },
				{ firstName: "Shantanu", lastName: "Narayan" },
				{ firstName: "Joan", lastName: "Lafferty" },
				{ firstName: "Ryan", lastName: "Frishberg" },
				{ firstName: "Jason", lastName: "Szeto" },
				{ firstName: "Mark", lastName: "Anders" },
				{ firstName: "Peter", lastName: "Flynn" },
				{ firstName: "Heidi", lastName: "Williams" }
				
			];
		]]>
	</fx:Script>
	<local:DoubleClickDataGrid id="dg" initialize="dg.dataProvider=arr" editable="true">
		<local:columns>
			<mx:DataGridColumn dataField="firstName" headerText="First Name" />
			<mx:DataGridColumn dataField="lastName" headerText="Last Name" />
		</local:columns>
	</local:DoubleClickDataGrid>
</s:Application>

 

分享到:
评论

相关推荐

    datagrid_in_jsp_example.zip_JSP DATAGRID_in

    【标题】"datagrid_in_jsp_example.zip_JSP DATAGRID_in" 提供的是一个使用JSP实现数据网格(DataGrid)的应用示例。在Web开发中,DataGrid是一种常见的组件,用于展示结构化的数据,例如数据库中的记录,以表格的...

    DataGridMVVM.zip_WPF MVVM datagrid_datagrid_datagrid mvvm_mvvm_w

    在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的DataGrid控件,以及如何结合MVVM(Model-View-ViewModel)模式来充分利用其功能。DataGrid是WPF中的一个核心控件,常用于显示和编辑表格数据。...

    VB中如何正确导出DataGrid的数据.rar_VB datagrid 输出_VB_DataGrid_datagrid_dat

    在VB(Visual Basic)开发环境中,DataGrid控件是一个常用的数据展示工具,它允许程序员将数据库中的数据以表格形式展示给用户。有时我们需要将DataGrid中的数据导出到如CSV或Excel格式,以便用户可以离线查看或...

    DataGrid_To_Excel

    标题“DataGrid_To_Excel”表明我们关注的是一个与数据网格控件到Excel转换相关的技术。在编程领域,特别是Web开发或Windows应用开发中,DataGrid通常是一个用于展示和操作表格数据的用户界面组件。而将DataGrid中的...

    ASP.NET_DataGrid_增删改查

    ASP.NET的DataGrid控件是Web开发中常用的数据展示组件,尤其在处理表格数据时非常方便。本教程将深入探讨如何使用DataGrid实现添加、删除、修改和查询操作,非常适合初学者入门。 首先,DataGrid控件是ASP.NET中的...

    Jquery_easyui_datagrid_js导出excel

    Jquery_easyui_datagrid_js导出excel 能够很好实现导出

    Datagrid_DDS解决方案.doc

    "Oracle Datagrid_DDS解决方案" Oracle Datagrid_DDS解决方案是基于Oracle数据库的数据复制及查询平台应用方案,本方案旨在解决证券业 Oracle 数据复制及查询平台应用中的问题。下面是该方案的详细介绍: 1. ...

    url.rar_DataGrid flash_flash dataGrid_flash datagr_flash url

    在IT领域,尤其是在Web开发中,Flash DataGrid是一种常见的组件,用于展示和操作大量结构化数据。本资源“url.rar”包含一个名为“DataGrid”的Flash解决方案,它可能是一个源码示例,帮助开发者理解如何在Flash环境...

    ADO_DataGrid_visualbasic_

    总结来说,"ADO_DataGrid_visualbasic_"示例展示了如何在VB环境中利用ADO连接数据库、执行查询,将结果展示在DataGrid控件中,并实现数据的筛选和排序功能。这为开发人员提供了处理数据库数据的基本方法,帮助他们...

    datagrid_checkbox.zip

    "datagrid_checkbox.zip"这个压缩包文件显然与使用DataGridView控件并添加复选框(Checkbox)功能有关,特别是实现全选和反选的功能。这在数据操作中非常常见,比如用户需要批量选择或取消选择表格中的项。 在...

    DataGrid_Column_Visibility_Binding

    本教程将详细讲解如何通过数据绑定来改变DataGrid中的列的可见性,即"DataGrid_Column_Visibility_Binding"的主题。 首先,我们需要了解WPF中的数据绑定基础。数据绑定允许UI元素的属性与应用程序中的数据源进行...

    EasyUI可扩展Editable DataGrid(可编辑数据表格)

    标题 "EasyUI可扩展Editable DataGrid(可编辑数据表格)" 涉及的是一个流行的JavaScript框架——EasyUI中的一个特性。EasyUI是基于jQuery的一个轻量级且易于使用的前端框架,它提供了一系列预定义的CSS样式和...

    Flex4_DataGrid_Tree_条目渲染器_源码

    在"Flex4_DataGrid_Tree_条目渲染器_源码"这个资源中,"My05_01_小老虎_List_Tree"可能包含了关于如何使用和自定义这两个组件的示例代码。你可以从中学习到如何创建和配置DataGrid和Tree,以及如何定义和应用自定义...

    DataGridViewColumnsTrial_C#_datagrid_visualstudio_columns_

    本示例“DataGridViewColumnsTrial_C#_datagrid_visualstudio_columns_”聚焦于如何在C#中使用Visual Studio来管理`DataGridView`控件中的列排序。 在`DataGridView`中,列可以包含各种类型的数据,如文本、数字或...

    C#DataGrid控件使用_C#_datagrid_

    - 用户可以通过单击列头来对数据进行排序。通过设置`AllowSorting`属性为`true`启用排序功能,然后处理`ColumnHeaderMouseClick`事件实现排序逻辑。 7. **行选择** - `SelectionMode`属性决定用户是否可以多选行...

    wpf DataGrid 实现单击单元格进入编辑状态

    默认情况下,DataGrid在用户双击单元格时进入编辑模式,但有时我们希望用户只需单击就能开始编辑,这能提高用户体验。 **二、单击编辑的实现** 要使DataGrid在单击单元格时进入编辑状态,我们需要覆盖其默认行为。...

    DataGrid_C#_

    在C#编程中,DataGrid控件是一种常用的数据展示组件,尤其在开发Windows Forms或ASP.NET应用程序时。EasyUI框架提供了对DataGrid的简洁、直观的封装,使得在C#中实现数据展示更加便捷。本篇文章将深入探讨如何利用C#...

    DataGrid-Attribute-master_WPF_datagrid_

    8. **排序和分组**:DataGrid可以实现列的动态排序,只需单击列头即可。`SortMemberPath`属性指定了排序依据的字段。此外,通过设置`CanUserReorderColumns`和`CanUserResizeColumns`,用户还可以自定义列的顺序和...

    如何将DataGrid中的数据倒入到Excel.rar_c# datagrid_datagrid excel

    本篇将深入探讨如何在C#中,特别是在Windows Forms应用中,将DataGrid控件中的数据转换并导出到Excel文件。 首先,我们要了解DataGrid控件。DataGrid是.NET Framework提供的一种用于显示数据表格的组件,它可以绑定...

    Jquery_easyui_datagrid_js导出excel.doc

    标题和描述均提到了“Jquery_easyui_datagrid_js导出excel”,这表明文档主要讨论的是如何使用jQuery EasyUI DataGrid插件将数据导出到Excel格式。在IT领域,尤其是Web开发中,数据导出功能是常见的需求之一,尤其当...

Global site tag (gtag.js) - Google Analytics