Discussion:
[Flex] Repeater
(demasiado antiguo para responder)
Adriana Guerrero
2008-01-30 20:04:31 UTC
Permalink
Un saludo para todos, tengo una gran duda estoy trabajando con el control
Repeater, pero lo creo desde el ActioScript y no me funciona bien, y he
estado buscando en paginas, foros, etc, pero los ejemplos que encuentro,
insertan el componente directamente desde Flex y eso no es lo que por el
momento necesito.
Mira este es el codigo que tengo

public function CreaPaneles( ):void

{

arrAlumnos // ArrayCollection con los datos de los alumnos

var n:int = arrAlumnos.length;

for (var i:int = 0 ; i< n ; i++)

{

var newPane:Panel = new Panel();

var newLabel:Label = new Label();

var newRP:Repeater = new Repeater();

var newTile:Tile = new Tile();

newRP.dataProvider = arrAlumnos

newLabel.text = arrAlumnos[i].NOMBREALUMNO;

newPanel.addChild(newLabel);

newRP.addChild(newPanel);

newTile.addChild(newRP);

frmDatos.addChild(newTile); // frmDatos es el contendor donde kiero
que me aparesca el Repeater con los Paneles

}

}

esto es lo que tengo asi de sencillo, pero lo que pasa el si me inserta la
cantidad de paneles, segun el dataProvider del Repeater, lo que pasa esk me
los deja todos empalmados, en una misma posicion es decir todos me aparecen
en la parte superior izquierda, del contendeor y por lo tanto solo puedo ver
el panel con la informacion del ultimo registro del arreglo,pero me doy
cuenta que si me inserta los 5 hijos en este caso pork esa es la longitud
del arreglo, pork he debugueado y el numChild del newRP(Repeater) es = 5.

Alguien sabe que es lo que pudiera hacer para resolver este problemita????,
en verdad de antemano se los agradesco. Mil Gracias

Saludos !!!!!
Juan Muro
2008-01-31 17:03:23 UTC
Permalink
Hola Adriana:
(Los expertos deben estar de vacaciones, je, je, así que te contesto yo
mismo).
Bueno la documentación del componente Repeater es más que confusa, ya que o
bien indica que no se puede usar a partir de datos generados dinámicamente
en forma de arrays bidimensionales, lo que no es cierto en absoluto, o bien
yo no entiendo ni papa de inglés, lo cual sí que puede ser cierto dada la
sintaxis que usan en la ayuda.
Para tu problema yo creo que usaría un TileList con la propiedad columnCount
establecida a 3 ó 4 dependiendo de la anchura de cada panel, y un
ItemRenderer para mostrar los paneles. Me parece que es la forma más estable
de distribuir los paneles de las que he probado ayer.
Pero ya cruzo los dedos ante cualquier resultado de esta ¿imprevisible? beta
3.
Salu2
`8¬]
Juan Muro
Post by Adriana Guerrero
Un saludo para todos, tengo una gran duda estoy trabajando con el control
Repeater, pero lo creo desde el ActioScript y no me funciona bien, y he
estado buscando en paginas, foros, etc, pero los ejemplos que encuentro,
insertan el componente directamente desde Flex y eso no es lo que por el
momento necesito.
Mira este es el codigo que tengo
public function CreaPaneles( ):void
{
arrAlumnos // ArrayCollection con los datos de los alumnos
var n:int = arrAlumnos.length;
for (var i:int = 0 ; i< n ; i++)
{
var newPane:Panel = new Panel();
var newLabel:Label = new Label();
var newRP:Repeater = new Repeater();
var newTile:Tile = new Tile();
newRP.dataProvider = arrAlumnos
newLabel.text = arrAlumnos[i].NOMBREALUMNO;
newPanel.addChild(newLabel);
newRP.addChild(newPanel);
newTile.addChild(newRP);
frmDatos.addChild(newTile); // frmDatos es el contendor donde kiero
que me aparesca el Repeater con los Paneles
}
}
esto es lo que tengo asi de sencillo, pero lo que pasa el si me inserta la
cantidad de paneles, segun el dataProvider del Repeater, lo que pasa esk
me los deja todos empalmados, en una misma posicion es decir todos me
aparecen en la parte superior izquierda, del contendeor y por lo tanto
solo puedo ver el panel con la informacion del ultimo registro del
arreglo,pero me doy cuenta que si me inserta los 5 hijos en este caso pork
esa es la longitud del arreglo, pork he debugueado y el numChild del
newRP(Repeater) es = 5.
Alguien sabe que es lo que pudiera hacer para resolver este
problemita????, en verdad de antemano se los agradesco. Mil Gracias
Saludos !!!!!
Loading...