主要是指定dataGrid的editItemPosition属性。<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <!--[CDATA[ import mx.controls.dataGridClasses.DataGridItemRenderer; import mx.collections.ArrayCollection; import mx.controls.listClasses.IListItemRenderer; import mx.events.ListEvent; [Bindable] private var dataArr:ArrayCollection; private function init():void{ dataArr = new ArrayCollection(); for(var i:int = 0; i< 4;i++){ var obj:Object = {name:"name"+i,address:"address"+i}; dataArr.addItem(obj) } } private function onChangeHandler(event:ListEvent):void{ var listRender:DataGridItemRenderer = event.itemRenderer as DataGridItemRenderer; if(listRender.data.name == "name2"){ dg.editable = true; dg.editedItemPosition = {columnIndex:event.columnIndex,rowIndex:event.rowIndex}; } } private function onItemEditEndHandler():void{ dg.editable = false; } ]]--> </mx:Script> <mx:Panel id="panel" title="TabNavigator Container Example" height="90%" width="90%" > <mx:DataGrid id="dg" width="100%" height="100%" rowCount="5" dataProvider="{dataArr}" itemClick="onChangeHandler(event)" itemEditEnd="onItemEditEndHandler()"> <mx:columns> <mx:DataGridColumn dataField="name" headerText="Name"/> <mx:DataGridColumn dataField="address" headerText="address"/> </mx:columns> </mx:DataGrid> </mx:Panel> </mx:Application>