Comunidad de diseño web y desarrollo en internet online

Ayuda para guardar datos con CairnGorm

Citar            
MensajeEscrito el 19 Nov 2009 09:48 pm
Hola! Estoy desarrollando una aplicación en Flex 3 y utilizando CairnGorm.
Mi consulta es que tengo un dos datagrid en los cuales hago un drag & drop , y por cada elemento que tengo en mi arreglo, tiene que crearse una fila en mi base de datos. Hay algún cambio que deba realizar a mi código??
Además, a este arreglo le tengo que asignar un id que tmb se crea en esta pantalla, a este id sí sé como guardarlo, porque es el mismo para todos los objetos de mi arreglo a guardar. Espero que me explique y me entendiendan jej...
Acá les dejo casi todo el código :P

Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
   
   xmlns:mx="http://www.adobe.com/2006/mxml" 
   implements="com.AM.lib.interfaces.IView"
   width="100%" height="100%"
   xmlns:viewGrid="com.AM.org.sbistram.view.*"
   creationComplete="init()"
   xmlns:views="com.GymAdmin.views.*">
   
<mx:Script>
      <![CDATA[
         import com.GymAdmin.event.EjercicioSubRutinaEvent;
         import flash.sampler.getInvocationCount;
         import mx.collections.ArrayCollection;
         import com.GymAdmin.vo.EjercicioVO;
         import com.GymAdmin.vo.EjercicioSubRutinaVO;
         import com.GymAdmin.vo.SubRutinaVO;
         import com.GymAdmin.event.EjercicioEvent;   
         import com.GymAdmin.event.SubRutinaEvent;      
         import com.AM.lib.structure.TypedArrayCollection;
         import mx.rpc.events.FaultEvent;
         import mx.rpc.events.ResultEvent;
         import mx.controls.Alert;
         import mx.rpc.events.AbstractEvent;
         import com.adobe.cairngorm.control.CairngormEventDispatcher;
         import com.GymAdmin.event.ClienteEvent;
         import com.GymAdmin.model.AppModel;
         import mx.managers.PopUpManager;
         
         [Bindable]
         private var _model : AppModel = AppModel.getInstance();
         [Bindable] private var currentItem : SubRutinaVO = new SubRutinaVO();
         
         private var ejercicios: TypedArrayCollection = new TypedArrayCollection(EjercicioVO);
         private var formValidator : Array;
            
            private function init():void{
            this.cg_getAll();         
         }

private function initValidators():void{
         //formValidator = [];
      }
      
         public function update(originalEvent:Event, serviceEvent:AbstractEvent = null):void{
         if (serviceEvent is ResultEvent)
            switch (originalEvent.type){
               //update view as needed based on command
               default:
                  dispatchEvent(new DataEvent(
                     "statusUpdate",false,false,originalEvent.type + " completado!"));
            } 
            else {
            Alert.show(FaultEvent(serviceEvent).fault.faultDetail);
            }
         }
      
           private function getOneSubRutina():SubRutinaVO {
             currentItem.idSubrutina = 0;
         return(  
         SubRutinaVO.construct(
         currentItem.idSubrutina,
            this.txtNombreSubRutina.text,
              this.txtDescripcion.text          
            )); }
      
         public function cg_getAll():void{
            var ev: EjercicioEvent = new EjercicioEvent(EjercicioEvent.EJERCICIO_GET_ALL,this);      
            CairngormEventDispatcher.getInstance().dispatchEvent(ev);   
         }
         
         private function cg_agregarSubRutina():void {
          //     if(Validator.validateAll(formValidator).length == 0) {
                  
                  var ev:SubRutinaEvent = new SubRutinaEvent(SubRutinaEvent.SUBRUTINA_AGREGAR_SUBRUTINA,this);                              
               ev.paramItem = this.getOneSubRutina();
               CairngormEventDispatcher.getInstance().dispatchEvent(ev);                  
            //   }
            /*   else {
                  Alert.show("Ingrese correctamente los datos");
               }*/
               //cg_agregarEjercicioSubRutina();
         }
          
          
          private function cg_agregarEjercicioSubRutina():void {
           //    if(Validator.validateAll(formValidator).length == 0) {
 // ACA ES DONDE DEBERIA AGREGAR EL CODIGO, PERO NO SE COMO HACERLO :(       
         //}
               //this.closeWindow();
            /*   }
               else {
                  Alert.show("Ingrese correctamente los datos");
               }*/
               
         }
         
         public function ejercicioSubrutina():void{
            
         var a = ejerciciosDG.selectedItem;         
         var ej: EjercicioSubRutinaVO = new EjercicioSubRutinaVO();
         ej.idEjercicio = a.idEjercicio;
         ej.descripcion = a.descripcionEjercicio;
         ej.nombre = a.nombreEjercicio;
          this._model.ejerciciossubrutinas.addItem(ej);
         }
         

         ]]>
</mx:Script>
   <mx:TextInput id="txtNombreSubRutina" width="140" toolTip="Ingrese nombre para el grupo de ejercicios."  x="123" y="22"/>
   <viewGrid:GridEjercicios id="ejerciciosDG" dataProvider="{this._model.ejercicios}" showScrollTips="true" 
   verticalScrollPolicy="on" width="331" dragEnabled="true" dragMoveEnabled="true" dropEnabled="true" 
   allowMultipleSelection="true" y="135" x="10" height="205" dragComplete="{ejercicioSubrutina();}" >
      <viewGrid:columns>
            <mx:DataGridColumn  headerText="Nombre" dataField="nombreEjercicio"  />
            <mx:DataGridColumn  headerText="Descripción" dataField="descripcionEjercicio" />
      </viewGrid:columns>
   </viewGrid:GridEjercicios>
   <mx:Label x="25" y="25" text="Nombre:" width="68"/>
   <mx:Label x="287" y="25" text="Descripción:"/>
   <mx:TextArea id="txtDescripcion" x="362" y="9" width="269" height="59"/>
   <mx:DataGrid x="426" y="138" width="500" id="dgEjerciciosEnSubRutina" editable="true"
      dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"  height="205" 
      verticalScrollPolicy="on" dataProvider="{this._model.ejerciciossubrutinas}" dragComplete="{agregarEjercicios();}">
      
      <mx:columns>
         <mx:DataGridColumn  editable="false" headerText="Nombre" dataField="nombre" />
         <mx:DataGridColumn  editable="false" headerText="Descripción" dataField="descripcion" />
         <mx:DataGridColumn editorDataField="value" editable="true" resizable="true" headerText="Peso" dataField="peso" rendererIsEditor="true">            
            <mx:itemRenderer >
            <mx:Component>
               <mx:NumericStepper stepSize="0.5" maximum="300" minimum="0"/>                                 
            </mx:Component>
         </mx:itemRenderer>   
         </mx:DataGridColumn>
         
         <mx:DataGridColumn editorDataField="value" editable="true" resizable="true" headerText="Serie" dataField="serie" rendererIsEditor="true">         
            <mx:itemRenderer >
            <mx:Component>
               <mx:NumericStepper stepSize="1" maximum="10" minimum="1"/>                                 
            </mx:Component>
         </mx:itemRenderer>
         </mx:DataGridColumn>
         
         <mx:DataGridColumn rendererIsEditor="true" editorDataField="value" editable="true" resizable="true"  headerText="Repeticiones" dataField="repeticion">         
            <mx:itemRenderer >
            <mx:Component>
               <mx:NumericStepper stepSize="1" maximum="50" minimum="1"/>                                 
            </mx:Component>
         </mx:itemRenderer>
         </mx:DataGridColumn>
      </mx:columns>
   </mx:DataGrid>
   <mx:Label x="509" y="109" text="Ejercicios Agregados" width="162"/>
   <mx:Label x="25" y="109" text="Todos los Ejercicios " width="162"/>
   <mx:Label x="329" y="93" text="Arrastre los ejercicios" height="20" width="161"/>
   <mx:Label x="329" y="109" text="que desee agregar." height="20" width="161"/>
   <mx:Button x="260" y="412" label="Agregar" click="cg_agregarSubRutina()" toolTip="Agrega la subrutina y el ejercicio."/>
   <mx:Button x="588" y="412" label="Cancelar " toolTip="Cancela."/>


</mx:Canvas>


Por Arteniz

41 de clabLevel



Genero:Masculino  

Programador

firefox
Citar            
MensajeEscrito el 20 Nov 2009 12:43 pm
De nuevo algo me suena raro. Alguien que entiende y utiliza Cairgorm no puede preguntar como se guarda en una BD ... ¿el código es tuyo? ¿100 líneas y a ver que cambio? ¿Te clavaron con el proyecto y eres diseñador?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Nov 2009 10:31 pm
Hola, primero que nada gracias por responder.
El código es de mi compañero y tuve que reemplazarlo yo, pero manejo lo mínimo d Cairngorn, y por eso mi pregunta, perdona si te parece muy trivial, pero lo estoy ejecutando al código y no funciona :S Y no sé si es por mi base o por algún problema en el código de cairngorm. Espero que sepas guiarme un poco, somos dos personas, y mi compañero no puede desarrollar en estos momentos, y bueno, alguien tiene que hacerlo. Gracias y espero un poco de ayuda.

Por Arteniz

41 de clabLevel



Genero:Masculino  

Programador

firefox
Citar            
MensajeEscrito el 24 Nov 2009 01:53 pm
La pregunta no es nada trivial, todo lo contrario, hay que analizar el ladrillo de código que pusiste y dado que es un contexto de un framework compejo, explicar mucho. Eres un candidato para el amigo Eliseo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Nov 2009 02:55 am
Hola! Gracias, ya pude solucionar el problema por el cual hice el post, estaba bien lo que había hecho, sólo tenía unas líneas mal en mi clase en php y por eso no funcionaba bien. Tengo otros pero espero no necesitar hacer otro post.
Muchas Gracias a todos!

Por Arteniz

41 de clabLevel



Genero:Masculino  

Programador

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.