Foros del Web » Creando para Internet » Flash y Actionscript »

Estancado creando una tabla en AS3.0

Estas en el tema de Estancado creando una tabla en AS3.0 en el foro de Flash y Actionscript en Foros del Web. Hola muy buenas!! He estado leyendo un tiempo y por fín me animé a registrarme, a ver si podeis ayudarme, soy un poco novato y ...
  #1 (permalink)  
Antiguo 23/04/2012, 08:36
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Estancado creando una tabla en AS3.0

Hola muy buenas!!

He estado leyendo un tiempo y por fín me animé a registrarme, a ver si podeis ayudarme, soy un poco novato y todo esto es muy nuevo para mi.

Estoy intentando hacer una tabla en AS 3.0, el objetivo que persigo rellenarla con fórmulas para que me devuelva una serie de valores de acuerdo a una seleccion que el usuario hubiera hecho previamente.

Os dejo una captura de lo que tengo hecho de prueba en excel por si me he explicado mal, el usuario selecciona una serie de valores a la izquierda, y necesito que la tabla con una serie de cálculos (que ya tengo) devuelva el resultado correcto.


Y este es e código que de momento tengo:
Cita:
var ar_desarrollo:Array = new Array();
DG_Sub.headerHeight = 30;
DG_Sub.sortableColumns = false;
DG_Sub.resizableColumns = false;
DG_Sub.columns = ["Minutos", "Jugadas", "Pases"];
DG_Sub.getColumnAt(0).headerText = "Min";
DG_Sub.getColumnAt(1).headerText = "Jugadas";
DG_Sub.getColumnAt(2).headerText = "Pases";
En fin que me queda lo mas sencillo, o complicado (segun se mire), rellenar la tabla con las filas... pero no se con que código hacerlo.

Muchas gracias por adelantando.
  #2 (permalink)  
Antiguo 23/04/2012, 18:24
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: Estancado creando una tabla en AS3.0

Hola. si estas hablando de un datagrid, que creo q es asi, debeas pasar los campos a variables (por ejemplo var1, var2 y var3) y para llenar los campos debes usar esta 2 lineas de codigo.

myobjeto = {Min:Number(var1), Jugadas:Number(var2), Pases:Number(var3)};
DG.addItem(myobjeto);

Si quieres incluir varios a la vez, pues lo haces con un for. Bueno lo mas importante que es subir los datos a la datagrid ya lo tienes arriba. Espero sea de tu ayuda
  #3 (permalink)  
Antiguo 24/04/2012, 04:57
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Estancado creando una tabla en AS3.0

Muchas gracias por la ayuda, pero sigo con bastantes problemas, y yo creo que es por no tener una base, que si fallo desde lo mas sencillo, no puedo hacer maravillas luego.

Si añado tus codigos, me salta error "acceso a una propiedad myobjeto no definida".

Si os pego el código completo que de momento llevo y mas o menos me funciona, quizas pueda avanzar un poco mas, si no os importa.

Cita:
var ar_desarrollo:Array = new Array();
DG_Sub.headerHeight = 30;
DG_Sub.sortableColumns = false;
DG_Sub.resizableColumns = false;
DG_Sub.columns = ["Minutos", "Jugadas", "Pases"];
DG_Sub.getColumnAt(0).headerText = "Min";
DG_Sub.getColumnAt(1).headerText = "Jugadas";
DG_Sub.getColumnAt(2).headerText = "Pases";

DG_Sub.getColumnAt(0).width = 10;
DG_Sub.getColumnAt(1).width = 50;
DG_Sub.getColumnAt(2).width = 50;

DG_Sub.getColumnAt(0).editable = false;
DG_Sub.getColumnAt(1).editable = false;
DG_Sub.getColumnAt(2).editable = false;
PD: Si, es una tabla en un datagrid.
Gracias y un saludo.
  #4 (permalink)  
Antiguo 24/04/2012, 05:22
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: Estancado creando una tabla en AS3.0

Ahhh Bueno, pues tienes que declarar la variable myobjeto. La linea es:
var myobjeto:Object;
  #5 (permalink)  
Antiguo 24/04/2012, 05:41
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Estancado creando una tabla en AS3.0

Esto marcha!!!! funciona!!! muchisimas gracias, ya con esta información puedo seguir investigando por mi cuenta.

Una última cosa relativa a esta parte:

Cita:
DG_Sub.columns = ["Minutos", "Jugadas", "Pases"];
DG_Sub.getColumnAt(0).headerText = "Min";
DG_Sub.getColumnAt(1).headerText = "Jugadas";
DG_Sub.getColumnAt(2).headerText = "Pases";
Si quiero que los header de la columna, en vez de ser un valor fijo, Min, jugadas, quiero que sea el valor que seleccione el usuario desde un combobox, que valor deberia ponerle a ese header?

De verdad que muchas gracias.
  #6 (permalink)  
Antiguo 24/04/2012, 15:25
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: Estancado creando una tabla en AS3.0

Para hacer eso primero tienes que crear un listener al datagrid para el evento cuando das click encima del datagrid
la linea seria:
DG.addEventListener(Event.CHANGE, clicdg);
la funcion seria:
function clicdg(event:Event):void
{

var varx:Number = event.target.selectedItem.Minutos;
var vary:Number = event.target.selectedItem.Jugadas;
var varz:Number = event.target.selectedItem.Pases;

DG_Sub.getColumnAt(0).headerText = "varx";
DG_Sub.getColumnAt(1).headerText = "vary";
DG_Sub.getColumnAt(2).headerText = "varz";
}

no estroy muy seguro de las 3 ultimas lineas, pero intentalo
  #7 (permalink)  
Antiguo 26/04/2012, 09:35
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Estancado creando una tabla en AS3.0

Vale muchisimas gracias, pero tengo un nuevo problema, que seguro que es una tonteria, tengo un combobox bien configurado, con nombre de instancia forma, y luego editados los label y data del mismo.

El problema es que no consigo que una fórmula lea el valor del combobox que seleccione el usuario. Por ejemplo.

var formula1:Number = Number(forma.value)+1.91;


No hay errores de compilador, pero si de salida.
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.

at fl.controls::ComboBox/get value()
at Prueba_fla::MainTimeline/frame1()


Seguro que es una tontería, pero no doy con el problema.

Imagen rapida de como lo tengo configurado:

Última edición por Goblins; 26/04/2012 a las 09:42
  #8 (permalink)  
Antiguo 27/04/2012, 06:45
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: Estancado creando una tabla en AS3.0

Hola, yo tengo un pequeño ejemplo q funciona para un combo box. no se si sirva para tu aplicación. El codigo es:

//despues de configurar el comboBox q en este caso se llama cb1
//tengo un funcion para detectra algún cambio en la selección del combobox
//cuando entra en la función el dato seleccionado lo copio a un campo de texto
// llamado status_txt

cb1.addEventListener(Event.CHANGE, displaySelection);

function displaySelection (event:Event):void {
status_txt.text = cb1.selectedItem.label;
}

Espero sea de tu ayuda.

Etiquetas: creando, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:47.