• Domingo 17 de Noviembre de 2024, 21:40

Autor Tema:  GridView + ArrayList/struct  (Leído 2735 veces)

Iñigo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
GridView + ArrayList/struct
« en: Jueves 15 de Julio de 2010, 18:09 »
0
Hola a todos.

Tengo el siguiente problema, y a ver si alguien me puede echar un cable.

Resulta que tengo la siguiente estructura:

 public ArrayList myCollection;//struct of database records (MyDates)

   
    public struct MyDates
    {
        public string _id_recordatorio;
        public DateTime _inicio;
        public DateTime _fin;
        public string _tipo;
        public string _cabecera;
        public string _categoria;
        public string _nota;
        public string _lugar;
        public bool _sync;


    }

Quiero rellenar un gridview con el contenido de myCollection, pero no encuentro la manera.

He intentado asociar al gridview el arraylist de la siguiente manera:

  GridView1.DataSource = myCollection;
  GridView1.DataBind();


y me sale el siguiente error:

"El origen de datos de GridView con el identificador 'GridView1' no tenía ninguna propiedad ni atributos a partir de los cuales generar campos. Asegúrese de que el origen de datos tiene contenido."

Verifico el contenido de myCollection y es correcto.

Que estoy haciendo mal?

Muchas gracias.

eltruhanero

  • Miembro activo
  • **
  • Mensajes: 85
    • Ver Perfil
Re: GridView + ArrayList/struct
« Respuesta #1 en: Jueves 15 de Julio de 2010, 20:07 »
0
puedes adjuntar la solucion que estas usando?

Iñigo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: GridView + ArrayList/struct
« Respuesta #2 en: Viernes 16 de Julio de 2010, 19:34 »
0
si claro:

 dr = miBD.PreguntarFilasDR(sql, 12);


         
            MyDates temp;
            myCollection = new ArrayList();
           
           
            while (dr.Read())
            {
                temp = new MyDates();
                temp._id_recordatorio = dr["id_recordatorio"].ToString();
                temp._inicio = (DateTime)dr["HComienzo"];
                temp._fin = (DateTime)dr["HFin"];
                temp._tipo = dr["Tipo"].ToString();
                temp._categoria = dr["nombre"].ToString();
                temp._cabecera = Propiedades.Cabecera[dr["id_cabecera"].ToString()].ToString();
                temp._nota = dr["nota"].ToString();
                temp._lugar = dr["lugar"].ToString();
                temp._sync = Convert.ToBoolean(dr["Sincronizado"]);
                myCollection.Add(temp);
            }

           
           
            dr.Close();
            GridView1.DataSource = myCollection;
            GridView1.DataBind();