Repeater y ArrayList....

06/01/2005 - 21:40 por Gustavo Ferrero | Informe spam
Hola a todos...

Tengo un problema con el Repeater, cargo todo un conjunto de registros en un
ArrayList, para luego asignarlo a la propiedad DataSource del Repeater para
mostrar los datos en una página de ASP.NETtodo funciona OK.. El tema es
cuando intento obtener un dato del Repeater del ArrayList almacenado en el
Repeater, acá va la porción de código...

public void Button2_OnClick(object sender, System.EventArgs e)
{
Button boton = (Button) sender;
int idRemito = 0;
ArrayList listado = (ArrayList) Repeater1.DataSource;
if (listado != null)
{
for (int i =0; i < Repeater1.Items.Count; i++)
{
if (Repeater1.Items[i].HasControls())
if (((Button)Repeater1.Items[i].Controls[1]) == boton)
{
idRemito = ((RemitoMaterial) listado[i]).id;
ArrayList materiales =
MaterialesRemitos.getMaterialesForRemitos(idRemito);
Repeater2.DataSource = materiales;
Repeater2.DataBind();
}
}
}
else
{
Response.Write("Error");
}
}

Este procedimiento administra los eventos ocurridos en un boton dentro del
Repeater, pero siempre me sale Error, es decir el objeto ArrayList es igual
a nulo.

¿Alguien sabe cómo recuperar el arraylist del repeater?

Muchas gracias..

Gustavo.

Preguntas similare

Leer las respuestas

#1 Octavio Telis Aynes
07/01/2005 - 00:34 | Informe spam
Bueno... aquí tienes algo en común, y es que la propiedad DataSource de
Repeater es solo para objetos que implementan IEnumerable, eso no implica
que la propiedad sea un ArrayList a menos que así lo hayas asignado.

Ahora bien, podrías intentar esta declaracíón.

ArrayList listado = Repeater1.DataSource as System.Collection.IEnumerable;

Intentalo, y comenta si fue bien.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/


"Gustavo Ferrero" escribió en el mensaje
news:%23%23mdJ%
Hola a todos...

Tengo un problema con el Repeater, cargo todo un conjunto de registros en


un
ArrayList, para luego asignarlo a la propiedad DataSource del Repeater


para
mostrar los datos en una página de ASP.NETtodo funciona OK.. El tema


es
cuando intento obtener un dato del Repeater del ArrayList almacenado en el
Repeater, acá va la porción de código...

public void Button2_OnClick(object sender, System.EventArgs e)
{
Button boton = (Button) sender;
int idRemito = 0;
ArrayList listado = (ArrayList) Repeater1.DataSource;
if (listado != null)
{
for (int i =0; i < Repeater1.Items.Count; i++)
{
if (Repeater1.Items[i].HasControls())
if (((Button)Repeater1.Items[i].Controls[1]) == boton)
{
idRemito = ((RemitoMaterial) listado[i]).id;
ArrayList materiales > MaterialesRemitos.getMaterialesForRemitos(idRemito);
Repeater2.DataSource = materiales;
Repeater2.DataBind();
}
}
}
else
{
Response.Write("Error");
}
}

Este procedimiento administra los eventos ocurridos en un boton dentro del
Repeater, pero siempre me sale Error, es decir el objeto ArrayList es


igual
a nulo.

¿Alguien sabe cómo recuperar el arraylist del repeater?

Muchas gracias..

Gustavo.


Respuesta Responder a este mensaje
#2 Gustavo Ferrero
07/01/2005 - 13:38 | Informe spam
Octavio, gracias por tu respuesta...hice la prueba y el compilador me tira
el siguiente error:

Cannot implicitly convert type 'System.Collections.IEnumerable' to
'System.Collections.ArrayList'

¿Alguna idea?

Saludos

"Octavio Telis Aynes" escribió en el mensaje
news:
Bueno... aquí tienes algo en común, y es que la propiedad DataSource de
Repeater es solo para objetos que implementan IEnumerable, eso no implica
que la propiedad sea un ArrayList a menos que así lo hayas asignado.

Ahora bien, podrías intentar esta declaracíón.

ArrayList listado = Repeater1.DataSource as System.Collection.IEnumerable;

Intentalo, y comenta si fue bien.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/


"Gustavo Ferrero" escribió en el mensaje
news:%23%23mdJ%
Hola a todos...

Tengo un problema con el Repeater, cargo todo un conjunto de registros en


un
ArrayList, para luego asignarlo a la propiedad DataSource del Repeater


para
mostrar los datos en una página de ASP.NETtodo funciona OK.. El tema


es
cuando intento obtener un dato del Repeater del ArrayList almacenado en el
Repeater, acá va la porción de código...

public void Button2_OnClick(object sender, System.EventArgs e)
{
Button boton = (Button) sender;
int idRemito = 0;
ArrayList listado = (ArrayList) Repeater1.DataSource;
if (listado != null)
{
for (int i =0; i < Repeater1.Items.Count; i++)
{
if (Repeater1.Items[i].HasControls())
if (((Button)Repeater1.Items[i].Controls[1]) == boton)
{
idRemito = ((RemitoMaterial) listado[i]).id;
ArrayList materiales > MaterialesRemitos.getMaterialesForRemitos(idRemito);
Repeater2.DataSource = materiales;
Repeater2.DataBind();
}
}
}
else
{
Response.Write("Error");
}
}

Este procedimiento administra los eventos ocurridos en un boton dentro del
Repeater, pero siempre me sale Error, es decir el objeto ArrayList es


igual
a nulo.

¿Alguien sabe cómo recuperar el arraylist del repeater?

Muchas gracias..

Gustavo.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida