about Flex DataGrid edit
Summary(¸ÅÊö)£º Adobe Flex µÄ dataGrid ÓкÜÇ¿´óµÄ¹¦ÄÜ£¬±ÈÈçItemRenderer,headerRendererµÈ£¬¿ÉÒÔ·½±ãµØÊµÏÖ×Ô¼ºÏëÒªµÄ¹¦ÄÜ¡£µ«¶ÔdataGridÖ±½Ó±à¼²¢±£´æµ½Service¶Ë£¬¾ÍÓеãÂé·³ÁË¡£
Requirement(ÐèÇó)£º ¶ÔdataGrid½øÐе¥Î»¸ñ±à¼£¬ÈôÓб仯£¬±£´æµ½Service; ·ñÔò²»±£´æ¡£
Solution(½â¾ö·½°¸): ÔËÓÃDataGrid µÄ itemEditBegin ʼþ¡¢itemFocusOut ʼþ¡£
1. when the itemEditBegin is dispatched, the event handler should save this cell value as old value.(±à¼Ç°±£´æ¾ÉÖµ)
2. when the listener of itemFocusOut is responding, you should check the current cell to the old value. If it's value have changed, you should save the new value to Service.(±à¼ºóÅжϣ¬ÊÇ·ñ¸ü¸Ä¡£)
Example(Àý×Ó) as follow:
<mx:Script>
<![CDATA[
private var oldValueOfEditedItem: CreditVO;
private function creditDGEditBegin(event: DataGridEvent): void {
oldValueOfEditedItem = (event.itemRenderer.data as CreditVO).clone() as CreditVO;
}
private function editedItemChanged(newValue: CreditVO): Boolean {
return (newValue.amount != oldValueOfEditedItem.amount)||
(newValue.description != oldValueOfEditedItem.description);
}
private function creditDGEditEnd(event: DataGridEvent): void {
var newValue: CreditVO = event.itemRenderer.data as CreditVO;
if (editedItemChanged(newValue)) {
dispatchEvent(new UpdateCreditEvent(newValue))
}
}
]]>
&
Ïà¹ØÎĵµ£º
ÔÚ±¾ÏµÁÐÇ°Ãæ¼¸ÆªÎÄÕÂÖзֱð½éÉÜÁËͨ¹ýWebService¡¢HTTPService¡¢URLLoaderÒÔ¼°FielReferenceµÈ×é¼þ
»òÀàÀ´Íê³ÉFlexÓë.NET·þÎñ¶ËµÄͨÐŵÄÏà¹ØÖªÊ¶µã¡£Í¨¹ýÕâЩ·½Ê½À´Íê³ÉÓë·þÎñ¶ËµÄͨÐÅÊǷdz£·½±ãºÍ¼òµ¥µÄ£¬µ«ÓÐËûµÄȱµã¾ÍÊÇͨÐÅÊý¾ÝÁ¿½ÏС£¬ÈçÒª´«
Êä´óÁ¿µÄÊý¾Ý»òÊÇʵÏÖ²»Í¬¶ÔÏóµÄÐòÁл¯´«Ê䣬ËüÃÇÔòÂú×ã²»ÁËÎÒÃǵ ......
Ö»ÊǼòµ¥ÊµÏÖÁËһϼÆËã¡£Ö÷ÒªÊÇÁ·ÏÂÊÖ¡£
ʵÏÖÁËÊó±ê¸ú¼üÅ̵ÄʼþÏìÓ¦¡£
-----------------------------
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="198" height="224" fontSize="12" themeColor="#4D8853" borderColor="#B1C2CE" backgroundGradientAlphas="[1.0, 1. ......
ÏÖÔÚ¸»webÓ¦ÓÃÒѾÊǸö´óÇ÷ÊÆ£¬Ô½À´Ô½¶àµÄ´«Í³¿Í»§¶ËÓ¦Óö¼Ïà¼Ì±»webÓ¦ÓÃËùÌæ´ú¡£µ«ÊǼøÓÚwebÓ¦ÓõÄÈõ½»»¥ÐÔ£¬ºÜ¶àÒµÎñ¸ºÔð¡¢ÈË»ú½»»¥Ç¿µÄÓ¦Óô¿js»¹ÊDz»ÄܺܺÃʤÈΣ¬Õâ¿ÖÊÇĿǰ»¹Óкܶà»îÔ¾csÓ¦ÓôæÔÚµÄÒ»¸öÖ÷ÒªÔÒò¡£Ç°²»¾Ã£¬¹«Ë¾Ò²ÔÚ×ö¼èÄѵÄÑ¡ÔñwebÓ¦ÓÃǰ̨¿ª·¢¿ò¼ÜÑ¡ÐÍÎÊÌ⣬×îº ......
ÓÃÁËÁ½Ììʱ¼äѧϰÁËÏÂFlexºÍjavaÅäºÏʵÏÖÎļþÉÏ´«£¬ÕÒÁ˸öСÀý×Ó¡£Ç°¶Ëµ±È»ÊÇflex£¬ºǫ́ʹÓÃservlet£¬°Ñ´úÂëÌùÉÏÀ´£¬±¸Íü°É£º
FileUpload.java:
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletExc ......
·µ»ØÊý¾ÝµÄ¸ñʽresultFormatÓм¸ÖÖÀàÐÍ£¬object¡¢array¡¢xml¡¢flashvars¡¢textºÍe4x£¬Ä¬ÈϵÄÉèÖÃΪobject¡£
RESULT_FORMAT_ARRAY : String = "array"
[] ½á¹û¸ñʽ“array”Óë“object”ÏàËÆ£¬µ«ÊÇÆä·µ»ØµÄֵʼÖÕΪÊý×飻ÕâÑù£¬Èç¹û´Ó½á¹û¸ñʽ“object”·µ»ØµÄ½á¹ûÉв»ÊÇÊý×飬Ôò½«°Ñ¸ÃÏî ......