Flex中获得DataGrid中编辑前后的数据

Categories: Flex; Tagged with: ; @ October 18th, 2008 11:28

问题:

在使用DataGrid进行数据编辑时, 我们不可避免的需要对数据的输入进行检验, 修正等错误.

解决方法:

监听DataGrid的editEnd事件:DataGridEvent.ITEM_EDIT_END.改事件中包含有正在编辑的DataGridColumn[列名], 编辑前的数据, 编辑结束后的数据, 等等

具体实现:

1. 获得当前编辑的DataGridColumn;  2. 获得编辑前后的数据;

	/**
	 * 响应EditEnd
	 * 获得当前编辑的DataGridColumn; 2. 获得编辑前后的数据;
	 */
	 private function onEditEnd(e:DataGridEvent):void {
	 	var beingEditField:String = e.dataField;  //获得当前列的dataField
	 	if(beingEditField == "locale") {
		 	var oldLocal:String = e.itemRenderer.data.locale;
			var newLocale:String = _dataGrid.itemEditorInstance[columnLocale.editorDataField]; //hashMap Key is String
			Alert.show("您正在编辑列: " + beingEditField + " 将: " + oldLocal + " 编辑为: " + newLocale); //在此处可以加入需要的数据验证,或是自动修正等等功能.可以使用	e.preventDefault()来阻止默认行为
			}
	 	}......
	 }

抓图:

image

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.