表格兩列,第一列不可編輯,第二列可編輯,第二列的數據由第一列數據稍微加工變換處理可得,優化思路:ide
一、第一列單元格不可編輯,但可複製單元格內容;優化
二、雙擊第一列單元格,直接爲第二列賦值;code
DataGrid提供雙擊事件處理,可是始終沒法直接爲編輯控件TextInput賦值,在雙擊事件中datagrid的itemEditorInstance屬性爲空,設置了editedItemPosition也同樣爲空,editedItemPosition須要在itemEditBegin事件後纔有值。事件
三、編輯結束自動賦值;it
編輯結束時處理,回車自動進入編輯狀態觸發itemEditBegin事件,再回車自動觸發itemEditEnd事件;io
protected function yDataGrid_itemEditEndHandler(event:DataGridEvent):void { //一、經過yDataGrid.itemEditorInstance獲取現有輸入值 var v:String = TextInput(yDataGrid.itemEditorInstance).text; //二、判斷是否爲空串 if("" == StringUtil.trim(v)){ //三、取出編輯單元格同行前一列的值 v = _mDataProvider[event.rowIndex].name1; //四、對值進行加工處理 v = v + ":*:*:*:*:*:*:*:*:*:*".substr(0, (10 - v.split(":").length)*2); //五、爲單元格賦值 TextInput(yDataGrid.itemEditorInstance).text = v; } }