Han visto que existen muchas páginas dedicadas a la informática y poseen el famoso ARMA TU PC. Yo estoy luchando con uno de estos.
Poseo unos 16 ComboBox en escena y cada uno levanta los datos de sus correspondientes XML.
El XML posee dos labels "detalle" y "precio", los cuales son mostrados en el ComboBox de forma unificada.
Codigo XML ComboBox motherboard
Código XML :
<fechas> <dia modelos='Mother MSI' precio='U$S 523' /> <dia modelos='Mother MSI' precio='U$S 523' /> <dia modelos='Mother MSI' precio='U$S 523' /> <dia modelos='Mother MSI' precio='U$S 523' /> <dia modelos='Mother MSI' precio='U$S 523' /> <dia modelos='Mother MSI' precio='U$S 523' /> <dia modelos='Mother MSI' precio='U$S 523' /> </fechas>
Imagen del ComboBox (muestra el modelo y precio de forma unificada)
[img]http://www.technologicalbridge.com.ar/combobox.bmp[/img]
Lo que necesito es que cada opción seleccionada en cada uno de esos 16 ComboBox se muestre en un DataGrid.
Que el DataGrid muestre la información por columnas, "detalles" la primer columna, "precio" la segunda columna.
Y se agregue de manera automatica una Fila al final de todas las opciones del DataGrid llamada "Total" que me sume toda la columna "precio"
Lo que hay que tener en cuenta es que si la persona cambia una opción en el ComboBox ese cambio se refleje en el DataGrid de forma espontánea.
Aca les dejo el AS del Combobox, el cual es igual a todos los que están dando vuelta con algunos detalles.
Código ActionScript :
////////////////////////////////////////////COMBOBOX//////////////////////////////////////////
//Realizo la carga del XML
motherboard = new XML();
//Esto me elimina todo espacio en blanco que haya en mi XML
motherboard.ignoreWhite = true;
//Con esto pregunto si el XML se cargo sactifactoriamente
motherboard.onLoad = function (success){
//Condicional
if (success){
//Si todo sale OK
//se crearan los arrays donde iran los datos.
largo = motherboard.firstChild.childNodes.length;
modelos = new Array(largo);
precio = new Array(largo);
//Luego de crear los array, pasamos a llenarlos
for (i=0; i<largo; i++){
modelos[i] = motherboard.firstChild.childNodes[i].attributes.modelos;
precio[i] = motherboard.firstChild.childNodes[i].attributes.precio;
}
//Por ultimo, luego de crear los arrays y llenarlos, llamo a la Funcion llenarCombo
llenarCombo();
}
//Si no se pudo cargar el XML
else{
// Me muestre el siguiente error
trace("No se pudo cargar el XML");
}
}
motherboard.load("armatupc/motherboard.xml");
////////////////////////////////////////////FUNCIONES//////////////////////////////////////////
function llenarCombo(){
//Le asigno un proveedor de datos
losDatos = new Array();
//uno de mis comboBox posee el nombre Mother
mother.dataProvider = losDatos;
//Metemos al ComboBox los datos obtenidos del array
for (i=0; i<modelos.length; i++){
//Unifico la informacion mostrando en el ComboBox el
//modelo (detalle) y el precio
losDatos.addItem({ label: modelos[i] + " " + precio[i]});
//Este es un listener que va a funcionar en el momento que se realiza
//La seleccion de un objeto del combobox
// Esto lo hice pero creo que no lo necesito para el DataGrid, solo me envia
// lo seleccionado a un campo de texto dinamico (seleccion mother)
mother.addEventListener("change", alSeleccionar);
alSeleccionar = new Object();
alSeleccionar.change = function(evento){
_root.seleccion_mother.text=(evento.target.value);
}
}
}Paso a comentar mi idea.
¿Se puede crear para el DataGrid un Array de donde este va a tomar los datos y que cada ComboBox envíe datos a ese Array?
Tengo una idea minima de cómo trabajar con AS si alguien me da una ayudita se lo agradeceria.
De antemano, GRACIAS A TODOS!!!
