参考:http://blog.csdn.net/newskl/archive/2009/09/11/4538780.aspx
DataGrid设置editable
为true
DataGrid设置itemEditEnd
响应为mergePTO
函数
不需要的DataGridColumn
设置editable
为false
<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例子”中,我们可能会看到如何创建和配置DataGrid,以及如何与后台数据源进行绑定。 1. **创建DataGrid**: 在Flex中,创建DataGrid通常是通过MXML代码实现的。在MXML文件中,我们可以定义...
2. 鼠标双击可编辑:在默认情况下,Flex DataGrid的单元格是只读的。为了实现鼠标双击编辑,我们需要监听GridEvent.DOUBLE_CLICK事件,并在事件触发时开启相应的单元格或行的编辑模式。这可能涉及到设置...
本篇将重点讲解如何在Flex中创建一个可编辑且具有分页功能的DataGrid。 首先,Flex是一个开源的RIA(Rich Internet Application)开发框架,基于ActionScript和MXML,主要用于构建富互联网应用程序。在Flex中,我们...
在Flex开发中,DataGrid控件是用于展示数据集的常用组件,它可以显示表格形式的数据并支持用户交互,如排序、选择和编辑。然而,有时我们可能需要对DataGrid的默认排序功能进行自定义,以满足特定的业务需求。本教程...
ItemRenderer是DataGrid的一个关键概念,它是每个数据显示单元的可重用视图。通过创建自定义的ItemRenderer类,我们可以自由地设计每个单元格的外观,包括添加任意的子组件。 步骤如下: - 创建一个新的MX或Spark ...
5. **数据管理组件**:Flex提供了一些内置组件,如DataGrid和List,用于展示和编辑数据。这些组件可以轻松地与数据提供者连接,实现增删改查功能。 6. **事件处理**:在增删改查操作中,事件处理起着关键作用。例如...
在Flex开发中,给DataGrid添加右键菜单项是一个常见的需求,这允许用户通过鼠标右键触发特定的操作,如编辑、删除或自定义功能。以下是一个详细的教程,讲解如何在Flex项目中实现这一功能。 首先,我们需要创建一个...
在这个函数里,我们创建了一个新的`DataGrid`实例并设置了它的属性,如位置、大小、是否可编辑等。然后,我们通过`dataProvider`属性将`ArrayCollection`绑定到DataGrid,确保数据能够被显示。 为了动态生成表头,...
在Flex开发中,DataGrid组件是一个非常重要的控件,它用于显示数据集合,并且提供了诸如排序、选择和编辑等功能。本示例“DataGrid_draggableColumns_test”是关于如何实现DataGrid列的拖放功能,这在创建动态、用户...
- **PrintDataGridExample** - 打印数据网格的例子。 - **FormPrintView/FormPrintHeader/FormPrintFooter** - 表单打印视图及相关组件。 #### 五、验证器与格式化器 ##### 1. **Validators** - **CreditCard...
在给定的例子中,我们看到它被应用于一个名为`songList`的数据网格(`DataGrid`)组件,该组件具有可编辑的特性。当用户尝试编辑第一列或第四列时,通过调用`event.preventDefault()`阻止了`itemEdit`事件的进一步...