none
lista bindeada con grilla muestra filas vacias RRS feed

  • Pregunta

  • hola :


    tengo este codigo que genera una lista de objetos y los bindea a un gridview            

     protected void Page_Load(object sender, EventArgs e)
            {

                 this.GenerarLista();
                 Grvrecaudacion.DataSource = this.GenerarLista();
                 Grvrecaudacion.DataBind();

            }

     public List<Recaudacion> GenerarLista()
            {

                List<Recaudacion> lista = new List<Recaudacion>();
                Recaudacion item1 = new Recaudacion("Unidad1", 10, DateTime.Now, "Chofer1", "Turno1");
                Recaudacion item2 = new Recaudacion("Unidad2", 20, DateTime.Now, "Chofer2", "Turno2");
                Recaudacion item3 = new Recaudacion("Unidad3", 10, DateTime.Now, "Chofer3", "Turno3");
                Recaudacion item4 = new Recaudacion("Unidad4", 20, DateTime.Now, "Chofer4", "Turno4");
                lista.Add(item1);
                lista.Add(item2);
                lista.Add(item3);
                lista.Add(item4);
                return lista;

            }

    el problema que tengo es que ejecuto el formulario y veo el gridview con 4 filas , pero vacias .

    la grilla la configure con las 5 columnas del tipo bounfield . supongo que me esta faltando algo .

    gracias por la ayuda 


    jueves, 30 de junio de 2016 23:32

Respuestas

  • grande genniooo!

    ahi anduvo . te comento :

    evidentemente habia algo en el gridview que habia quedado mal .

    porque puse tu codigo , no me anduvo y opte por barajar y dar de vvuelta .

    volé la grilla y la genere de nuevo . ahi anduvo . mil gracias !!!

    • Marcado como respuesta ciclon25 viernes, 1 de julio de 2016 1:08
    viernes, 1 de julio de 2016 1:00

Todas las respuestas

  • Hola ciclon25,

    Prueba haciendo esto :

            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Grvrecaudacion.DataSource = GenerarLista();
                    Grvrecaudacion.DataBind();
                }
            }

    [-] la grilla la configure con las 5 columnas del tipo bounfield . supongo que me esta faltando algo .

    No, si vas a cargar los datos mediante un List, no necesitas agregar columnas al GridView.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    jueves, 30 de junio de 2016 23:43
  •  JC NaupaCrispín :

     Probe con el codigo que me pasaste y no funciono . gracias de todas maneras .

    viernes, 1 de julio de 2016 0:17
  •  JC NaupaCrispín :

     Probe con el codigo que me pasaste y no funciono . gracias de todas maneras .

    Hola ciclon25,

    Pero sigues teniendo el mismo problema? Puedes mostrarme la estructura de tu clase ? Ya que yo implementé una de muestra y si me muestra la información.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    viernes, 1 de julio de 2016 0:25
  • gracias !

    esta es la clase :

        

     public class Recaudacion
        {
             private string unidad { get; set; }
             private DateTime? fecha { get; set; }
             private string turno { get; set; }
             private string chofer { get; set; }
             private double importe { get; set; }

            public Recaudacion( string tcUnidad, double tnImporte, DateTime tdFecha, string tcChofer, string tcturno)
            {
                this.importe = tnImporte;
                this.chofer = tcChofer;
                this.fecha = tdFecha;
                this.unidad = tcUnidad;
                this.turno = tcturno;
            }


    te pregunto : al gridview hay que configurarlo de alguna manera en especial ? 

    gracias 

    • Editado ciclon25 viernes, 1 de julio de 2016 0:37
    viernes, 1 de julio de 2016 0:35
  • Hola ciclon25,

    Puedes realizar estas modificaciones :

            public class Recaudacion
            {
                public string unidad { get; set; }
                public double importe { get; set; }
                public DateTime? fecha { get; set; }
                public string turno { get; set; }
                public string chofer { get; set; }
            }
    

    Y al crear la lista :

          public List<Recaudacion> GenerarLista()
            {
                List<Recaudacion> lista = new List<Recaudacion>();
    
                Recaudacion item1 = new Recaudacion()
                {
                    unidad = "Unidad1",
                    importe = 10,
                    fecha = DateTime.Now,
                    chofer = "Chofer1",
                    turno = "Turno1"
                };
    
                Recaudacion item2 = new Recaudacion()
                {
                    unidad = "Unidad2",
                    importe = 20,
                    fecha = DateTime.Now,
                    chofer = "Chofer2",
                    turno = "Turno2"
                };
    
                lista.Add(item1);
                lista.Add(item2);
    
                return lista;
            }

    Cuando cargue la página :

         protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Grvrecaudacion.DataSource = GenerarLista();
                    Grvrecaudacion.DataBind();
                }
            }

    [-] al gridview hay que configurarlo de alguna manera en especial ? 

    No, cuando cargas de esta manera no necesitas crear nada, ya que la lista se encarga de crear las columnas.

    Solo arrastra un GridView a tu formulario y listo.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    viernes, 1 de julio de 2016 0:41
  • grande genniooo!

    ahi anduvo . te comento :

    evidentemente habia algo en el gridview que habia quedado mal .

    porque puse tu codigo , no me anduvo y opte por barajar y dar de vvuelta .

    volé la grilla y la genere de nuevo . ahi anduvo . mil gracias !!!

    • Marcado como respuesta ciclon25 viernes, 1 de julio de 2016 1:08
    viernes, 1 de julio de 2016 1:00