eduardosavoine

myDropDownList.as

Sep 21st, 2011
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /***
  2.  *      POG - two-way
  3.  *      databind no dropdownlist
  4.  *      versao 0.1
  5.  *
  6.  */
  7.  
  8. package components
  9. {
  10.     import mx.collections.IList;
  11.     import mx.controls.Alert;
  12.     import mx.utils.ObjectUtil;
  13.    
  14.     import spark.components.DropDownList;
  15.    
  16.     public class myDropDownList extends DropDownList
  17.     {
  18.         public function myDropDownList()
  19.         {
  20.             super();
  21.         }      
  22.        
  23.         //Campo que será utilizado na pesquisa dentro do dataProvider
  24.         [Bindable]
  25.         public var keyField:String = "cCdId";
  26.        
  27.         //Campo usado para realizar o bind com a tabela.
  28.         private var _keyValue:*;               
  29.        
  30.         [Bindable]
  31.         public function get keyValue():*
  32.         {
  33.             return _keyValue;
  34.         }
  35.                
  36.         public function set keyValue(value:*):void
  37.         {
  38.             _keyValue = this.getKeyValue(value);
  39.            
  40.         }
  41.  
  42.         private function getKeyValue(value:*):*
  43.         {          
  44.             if (value == null)
  45.             {
  46.                 selectedIndex = -1;
  47.                 return;
  48.             }
  49.             for each (var obj:Object in dataProvider)
  50.             {              
  51.                 if (ObjectUtil.compare(obj[keyField].toString(), value) == 0)
  52.                 {
  53.                     selectedIndex = dataProvider.getItemIndex(obj);
  54.                     return obj[keyField].toString();
  55.                 }                              
  56.             }
  57.         }  
  58.            
  59.         override public function set dataProvider(value:IList): void
  60.         {
  61.             super.dataProvider = value;
  62.  
  63.             if (keyValue != null)
  64.             {
  65.                 keyValue = this.getKeyValue(selectedItem[keyField]);       
  66.             }
  67.         }
  68.     }      
  69. }
Advertisement
Add Comment
Please, Sign In to add comment