flex DataGrid單元格回車自動賦值

表格兩列,第一列不可編輯,第二列可編輯,第二列的數據由第一列數據稍微加工變換處理可得,優化思路: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;
    }
}
相關文章
相關標籤/搜索