您的位置:首页 > 其它

Flex DataGrid 编辑获取数据

2013-12-16 17:03 281 查看
<?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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: