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
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>
