lo q pasa q cumple su funcion pero come demaciado procesador cuando es una cantidad muy grande de usuarios y el problema q lo necesito para una cantidad grande me pueden decir como corregir eso aqui les dejo el link para q lo vean funcionando y el codigo xau
http://www.reflexpro.cl/freddy/exp_fase_01.html
Código:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#632626, #632626]" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.ComboBox; import mx.controls.Label; import mx.containers.FormItem; import mx.controls.Alert; import mx.events.ValidationResultEvent; import mx.controls.Button; import mx.controls.TextInput; private var ar_grupos:Array; private var ar_sub_grupos:Array; private var ar_lista:ArrayCollection=new ArrayCollection; private function init_layer_grup():void{ //carga de text input grupos for(var a:int=0;a<parseInt(num_grupos.text);a++) { var tem_num:int=a+1; var tem_formitem:FormItem=new FormItem(); var tem_texinput:TextInput=new TextInput(); tem_formitem.name="form_grupos_"+a; tem_formitem.label="Grupos "+tem_num; tem_texinput.name="txt_grupos_"+a; tem_formitem.addChild(tem_texinput); layer_grupos.addChild(tem_formitem); } //carga de text inut sub grupos for(var a:int=0;a<parseInt(num_sub_grupos.text);a++) { var tem_num:int=a+1; var tem_formitem:FormItem=new FormItem(); var tem_texinput:TextInput=new TextInput(); tem_formitem.name="form_sub_grupos_"+a; tem_formitem.label="Sub Grupos "+tem_num; tem_texinput.name="txt_sub_grupos_"+a; tem_formitem.addChild(tem_texinput); layer_sub_grupos.addChild(tem_formitem); } } private function init_layer_usuarios():void{ //llenado combobox grupos ar_grupos=[]; for(var a:int=0;a<parseInt(num_grupos.text);a++){ var tem_formitem:FormItem=new FormItem(); var tem_texinput:TextInput=new TextInput(); tem_formitem= layer_grupos.getChildByName("form_grupos_"+a)as FormItem; tem_texinput= tem_formitem.getChildByName("txt_grupos_"+a)as TextInput; ar_grupos.push({label:tem_texinput.text}); } //llenado combobox sub grupos ar_sub_grupos=[]; for(var a:int=0;a<parseInt(num_sub_grupos.text);a++){ var tem_formitem:FormItem=new FormItem(); var tem_texinput:TextInput=new TextInput(); tem_formitem= layer_sub_grupos.getChildByName("form_sub_grupos_"+a)as FormItem; tem_texinput= tem_formitem.getChildByName("txt_sub_grupos_"+a)as TextInput; ar_sub_grupos.push({label:tem_texinput.text}); } //llenado de usuarios var y:int=0; for(var a:int=0;a<parseInt(num_usuarios.text);a++){ var tem_num:int=a+1; //ini label var tem_label:Label=new Label(); tem_label.text="Usuario "+tem_num+":"; tem_label.move(10,y); layer_usuarios.addChild(tem_label); //fin label //ini textinput var tem_texinput:TextInput=new TextInput(); tem_texinput.name="usuario_"+a tem_texinput.move(80,y); layer_usuarios.addChild(tem_texinput); //fin textinput //ini combobox grupos var tem_combobox_grupos:ComboBox=new ComboBox(); tem_combobox_grupos.name="grupos_"+a; tem_combobox_grupos.dataProvider=ar_grupos; tem_combobox_grupos.move(250,y); layer_usuarios.addChild(tem_combobox_grupos); //fin combobox grupos //ini combobox sub grupos var tem_combobox_sub_grupos:ComboBox=new ComboBox(); tem_combobox_sub_grupos.name="sub_grupos_"+a; tem_combobox_sub_grupos.dataProvider=ar_sub_grupos; tem_combobox_sub_grupos.move(420,y); layer_usuarios.addChild(tem_combobox_sub_grupos); //fin combobox sub grupos y=y+30; } } private function init_layer_listado():void{ for(var a:int=0;a<parseInt(num_usuarios.text);a++){ //sacar datos nombre usuario var tem_texinput:TextInput=new TextInput(); tem_texinput=layer_usuarios.getChildByName("usuario_"+a)as TextInput; //sacar datos grupo var tem_combo_grupo:ComboBox=new ComboBox(); tem_combo_grupo=layer_usuarios.getChildByName("grupos_"+a)as ComboBox; //sacar datos sub grupos var tem_combo_sub_grupo:ComboBox=new ComboBox(); tem_combo_sub_grupo=layer_usuarios.getChildByName("sub_grupos_"+a)as ComboBox; //traspaso a array collection ar_lista.addItem({usuario:tem_texinput.text, grupo:tem_combo_grupo.selectedLabel, sub_grupo:tem_combo_sub_grupo.selectedLabel}); } data_lista.dataProvider=ar_lista; } private function validar_user():void{ layer_con.selectedIndex=3; } private function validar_grup():void{ layer_con.selectedIndex=2; } private function validarcantidades():void{ var validar_usuarios:ValidationResultEvent=validar_usuarios.validate(); var validar_grupos:ValidationResultEvent=validar_grupos.validate(); var validar_sub_grupos:ValidationResultEvent=validar_sub_grupos.validate(); if(validar_usuarios.type == ValidationResultEvent.VALID && validar_grupos.type == ValidationResultEvent.VALID && validar_sub_grupos.type == ValidationResultEvent.VALID) { layer_con.selectedIndex=1; }else{ Alert.show("Faltan Datos Por Ingresar"); } } ]]> </mx:Script> <mx:StringValidator source="{num_usuarios}" property="text" requiredFieldError="Complete Cantidad de Usuarios" trigger="{btn_can}" triggerEvent="click" id="validar_usuarios"/> <mx:StringValidator source="{num_grupos}" property="text" requiredFieldError="Complete Cantidad de Grupos" trigger="{btn_can}" triggerEvent="click" id="validar_grupos" /> <mx:StringValidator source="{num_sub_grupos}" property="text" requiredFieldError="Complete Cantidad de Sub Grupos" trigger="{btn_can}" triggerEvent="click" id="validar_sub_grupos"/> <mx:TabNavigator width="685" height="544" horizontalCenter="0" verticalCenter="0" selectedIndex="0" id="layer_con"> <mx:Form label="Inicio" width="100%" height="100%"> <mx:FormHeading label="Cantidades"/> <mx:FormItem label="Usuarios"> <mx:TextInput restrict="0-9" id="num_usuarios"/> </mx:FormItem> <mx:FormItem label="Grupos"> <mx:TextInput restrict="0-9" id="num_grupos"/> </mx:FormItem> <mx:FormItem label="Sub Grupos"> <mx:TextInput restrict="0-9" id="num_sub_grupos"/> </mx:FormItem> <mx:FormItem> <mx:Button label="Aceptar" id="btn_can" click="validarcantidades();"/> </mx:FormItem> </mx:Form> <mx:Canvas label="Grupos - Sub Grupos" width="100%" height="100%" initialize="init_layer_grup()"> <mx:Form x="0" y="0" width="341" height="462" id="layer_grupos"> <mx:FormHeading label="Grupos" textAlign="center"/> </mx:Form> <mx:Form x="342" y="0" width="50%" height="462" id="layer_sub_grupos"> <mx:FormHeading label="Sub Grupos" textAlign="center"/> </mx:Form> <mx:Button x="608" y="479" label="Aceptar" click="validar_grup();"/> </mx:Canvas> <mx:Canvas label="Usuarios" width="100%" height="100%" initialize="init_layer_usuarios()"> <mx:Button x="601" y="479" label="Aceptar" click="validar_user();"/> <mx:Canvas x="0" y="27" height="444" width="683" id="layer_usuarios"> </mx:Canvas> <mx:Label x="80" y="1" text="Nombre" fontWeight="bold" fontSize="12"/> <mx:Label x="250" y="1" text="Grupo" fontWeight="bold" fontSize="12"/> <mx:Label x="420" y="1" text="Sub Grupo" fontWeight="bold" fontSize="12"/> </mx:Canvas> <mx:Canvas label="Listado" width="100%" height="100%" initialize="init_layer_listado()"> <mx:DataGrid x="10" y="10" width="663" height="491" id="data_lista"> <mx:columns> <mx:DataGridColumn headerText="Usuario" dataField="usuario"/> <mx:DataGridColumn headerText="Grupo" dataField="grupo"/> <mx:DataGridColumn headerText="Sub Grupo" dataField="sub_grupo"/> </mx:columns> </mx:DataGrid> </mx:Canvas> </mx:TabNavigator> </mx:Application>