Flex DataGrid 编辑获取数据

本文介绍如何使用MXMXML创建一个数据网格应用,实现对Pavement乐队专辑价格的编辑功能,包括事件处理、数据绑定和界面设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml version="1.0"?>
<!-- itemRenderers\events\BeginEditEventAccessEditor.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.events.DataGridEvent;
import mx.controls.NumericStepper;
import mx.collections.ArrayCollection;
import mx.controls.listClasses.IDropInListItemRenderer;
import mx.controls.TextInput;

[Bindable]
private var myDP:ArrayCollection = new ArrayCollection([
{Artist:'Pavement', Album:'Slanted and Enchanted', Price:'(11.99)'},
{Artist:'Pavement', Album:'Crooked Rain, Crooked Rain', Price:'(10.99)'},
{Artist:'Pavement', Album:'Wowee Zowee', Price:'(12.99)'},
{Artist:'Pavement', Album:'Brighten the Corners', Price:'(11.99)'},
{Artist:'Pavement', Album:'Terror Twilight', Price:'(11.99)'}
]);
// Handle the itemEditBegin event.
private function onEditedBegin(event:DataGridEvent):void
{
// Get the name of the column being editted.
var colName:String = myDataGrid.columns[event.columnIndex].dataField;
var temp:String;
if(colName=="Price")
{
// Handle the event here.
event.preventDefault();
// Creates an item editor.
myDataGrid.createItemEditor(event.columnIndex,event.rowIndex);
// All item editors must implement the IDropInListItemRenderer interface
// and the listData property.
// Initialize the listData property of the editor.
IDropInListItemRenderer(myDataGrid.itemEditorInstance).listData =
IDropInListItemRenderer(myDataGrid.editedItemRenderer).listData;
// Copy the cell value to the NumericStepper control.
myDataGrid.itemEditorInstance.data = myDataGrid.editedItemRenderer.data;
// Add 20 percent to the current price.
temp = TextInput(myDataGrid.itemEditorInstance).text;
if (temp.indexOf("(") != -1){
temp = temp.replace("(","");
}
if (temp.indexOf(")") != -1){
temp = temp.replace(")","");
}
TextInput(myDataGrid.itemEditorInstance).text = temp;

}
}
private function onEditedEnd(event:DataGridEvent):void{
var colName:String = myDataGrid.columns[event.columnIndex].dataField;
var curText:String = TextInput(myDataGrid.itemEditorInstance).text;

if(colName=="Price")
{
// Handle the event here.
//event.preventDefault();
// Creates an item editor.
//myDataGrid.createItemEditor(event.columnIndex,event.rowIndex);
// All item editors must implement the IDropInListItemRenderer interface
// and the listData property.
// Initialize the listData property of the editor.
//IDropInListItemRenderer(myDataGrid.itemEditorInstance).listData =
//IDropInListItemRenderer(myDataGrid.editedItemRenderer).listData;
// Copy the cell value to the NumericStepper control.
//myDataGrid.itemEditorInstance.data = myDataGrid.editedItemRenderer.data;
// Add 20 percent to the current price.
if (curText != ""){
TextInput(myDataGrid.itemEditorInstance).text = "(" + curText + ")";
}

}
}
]]>
</mx:Script>

<mx:Style>
.testTip
{
border-color: #ffffdd;
color: #ff0000;
font-weight: bold;
}
</mx:Style>

<mx:DataGrid id="myDataGrid" dataProvider="{myDP}"
editable="true"
itemEditBegin="onEditedBegin(event);" itemEditEnd="onEditedEnd(event);"
rowHeight="60">
<mx:columns>
<mx:DataGridColumn dataField="Artist" />
<mx:DataGridColumn dataField="Album" width="130" />
<mx:DataGridColumn dataField="Price" editorDataField="text">
<mx:itemEditor>
<mx:Component>
<mx:TextInput/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值