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

Flex可编辑DataGrid的输入例子

    博客分类:
  • flex
阅读更多

参考:http://blog.csdn.net/newskl/archive/2009/09/11/4538780.aspx

 

DataGrid设置editabletrue

DataGrid设置itemEditEnd 响应为mergePTO 函数

不需要的DataGridColumn 设置editablefalse

 

<mx:DataGrid id="ptoDG" width="100%" height="100%"
        dataProvider="{modelLocator.ptoArrayCollection}"
	editable="true" itemEditEnd="mergePTO(event)">
	<mx:columns>
		<mx:DataGridColumn headerText="User" labelFunction="userFunction"
            editable="false" />
		<mx:DataGridColumn headerText="PTO" dataField="pto" />
		<mx:DataGridColumn headerText="Factor" dataField="factor" />
		<mx:DataGridColumn headerText="Sprint" labelFunction="sprintFunction"
            editable="false" />
		<mx:DataGridColumn headerText="Release" labelFunction="releaseFunction"
            editable="false" />
		<mx:DataGridColumn headerText="Product" labelFunction="productFunction"
            editable="false" />
	</mx:columns>
</mx:DataGrid>

 

private function mergePTO(e:DataGridEvent):void
{
        // 如果没有更新数据则直接返回,例如键盘ESC退出
	if (e.reason == DataGridEventReason.CANCELLED) return;
	else
	{
                // 获取编辑单元格的值
		var newData:String = TextInput(e.currentTarget.itemEditorInstance).text;
		switch (e.dataField)
		{
			case "pto":
				if (newData != ptoDG.selectedItem.pto)
				{
					var selectedPTO:UserProp = ptoDG.selectedItem as UserProp;
					selectedPTO.pto = newData;
					
					var evt:PTOAdminEvent =
                       new PTOAdminEvent(PTOAdminEvent.EDIT_PTO, selectedPTO);
					CairngormEventDispatcher.getInstance().dispatchEvent(evt);
				}
				break;
			case "factor":
				if (newData != ptoDG.selectedItem.factor)
				{
					var selectedPTO1:UserProp = ptoDG.selectedItem as UserProp;
					selectedPTO1.factor = newData;
					
					var evt1:PTOAdminEvent =
                        new PTOAdminEvent(PTOAdminEvent.EDIT_PTO, selectedPTO1);
					CairngormEventDispatcher.getInstance().dispatchEvent(evt1);
				}
				break;
		}
	}
}
分享到:
评论

相关推荐

    FLEX的一个DataGrid例子

    在“FLEX的一个DataGrid例子”中,我们可能会看到如何创建和配置DataGrid,以及如何与后台数据源进行绑定。 1. **创建DataGrid**: 在Flex中,创建DataGrid通常是通过MXML代码实现的。在MXML文件中,我们可以定义...

    Flex-DataGrid源码及资料

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

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

    本篇将重点讲解如何在Flex中创建一个可编辑且具有分页功能的DataGrid。 首先,Flex是一个开源的RIA(Rich Internet Application)开发框架,基于ActionScript和MXML,主要用于构建富互联网应用程序。在Flex中,我们...

    Flex中如何创建自定义排序DataGrid控件的例子

    在Flex开发中,DataGrid控件是用于展示数据集的常用组件,它可以显示表格形式的数据并支持用户交互,如排序、选择和编辑。然而,有时我们可能需要对DataGrid的默认排序功能进行自定义,以满足特定的业务需求。本教程...

    Flex DataGrid 插入子组件

    ItemRenderer是DataGrid的一个关键概念,它是每个数据显示单元的可重用视图。通过创建自定义的ItemRenderer类,我们可以自由地设计每个单元格的外观,包括添加任意的子组件。 步骤如下: - 创建一个新的MX或Spark ...

    flex增删改查例子(完整版)

    5. **数据管理组件**:Flex提供了一些内置组件,如DataGrid和List,用于展示和编辑数据。这些组件可以轻松地与数据提供者连接,实现增删改查功能。 6. **事件处理**:在增删改查操作中,事件处理起着关键作用。例如...

    在Flex中给datagrid添加右键菜单项的具体实现

    在Flex开发中,给DataGrid添加右键菜单项是一个常见的需求,这允许用户通过鼠标右键触发特定的操作,如编辑、删除或自定义功能。以下是一个详细的教程,讲解如何在Flex项目中实现这一功能。 首先,我们需要创建一个...

    Flex中如何动态生成DataGrid以及动态生成表头

    在这个函数里,我们创建了一个新的`DataGrid`实例并设置了它的属性,如位置、大小、是否可编辑等。然后,我们通过`dataProvider`属性将`ArrayCollection`绑定到DataGrid,确保数据能够被显示。 为了动态生成表头,...

    DataGrid_draggableColumns_test.zip_FlashMX/Flex源码_Flex_

    在Flex开发中,DataGrid组件是一个非常重要的控件,它用于显示数据集合,并且提供了诸如排序、选择和编辑等功能。本示例“DataGrid_draggableColumns_test”是关于如何实现DataGrid列的拖放功能,这在创建动态、用户...

    Flex 3 组件实例与应用(2009版)

    - **PrintDataGridExample** - 打印数据网格的例子。 - **FormPrintView/FormPrintHeader/FormPrintFooter** - 表单打印视图及相关组件。 #### 五、验证器与格式化器 ##### 1. **Validators** - **CreditCard...

    flex中event.preventDefault()方法取消事件的默认行为

    在给定的例子中,我们看到它被应用于一个名为`songList`的数据网格(`DataGrid`)组件,该组件具有可编辑的特性。当用户尝试编辑第一列或第四列时,通过调用`event.preventDefault()`阻止了`itemEdit`事件的进一步...

Global site tag (gtag.js) - Google Analytics