表格两列,第一列不可编辑,第二列可编辑,第二列的数据由第一列数据稍微加工变换处理可得,优化思路: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; } }