none
agregar columnas a un Gridview dinamicamente C# y ASPX RRS feed

  • Pregunta

  • Quiero trasponer un gridview(1) y la forma que encontré es la siguiente:

    1) crear otro gridview(2). ok

    2) recorrer (1) por filas y crear dinamicamente las columnas en (2). ok

    3) ahora como veo el header, ya que en el punto 2 queda vacía y por tanto muestra nada.

         Ahora la soluciones que he encontrado son:

    a) ingresar una fila a mano para visualizar el Header pero como lo ago.

    b) Mostrar el header si el gridview no tiene datos pero como lo ago.

    Desconosco si hay otras opciones pero el codigo de las expuestas no me sale.

    Nota1: el numero de columnas en (2) no siempre es el mismo.

    Nota2: solo quiero trasponer la columna [5] del gridview, de modo que en (2) queda solo una fila, en este caso el header.

    el punto 2 lo llevo a cabo de esta manera:  

    foreach (GridViewRow Row in this.grd1.Rows)

                {                

                    BoundField columna = new BoundField();

                    columna.HeaderText = Row.Cells[5].Text;  // Nombre de la Columna que quiero ver.

                    columna.DataField  = Row.Cells[5].Text; 

                    this.grd2.Columns.Add(columna); 

                    this.grd2.DataBind();                     

                }

      

    Gracias por su ayuda.

     

     

     

     

    • Editado Rock_Lee viernes, 18 de febrero de 2011 14:18 Aclaracion
    jueves, 17 de febrero de 2011 20:36

Respuestas

  • Gracias a una Amiga Genial que tengo me dio la solucion y es la siguiente:

     

     

     

    DataTable dt = new DataTable();

    foreach (GridViewRow Row in this.grd1.Rows)

    {

    dt.Columns.Add(Row.Cells[5].Text);

    }

    dt.Rows.Add(

     

    new object[] { "" });

     

     

    this.grd2.DataSource = dt;

     

     

    this.grd2.DataBind();

    • Marcado como respuesta Rock_Lee viernes, 18 de febrero de 2011 17:14
    viernes, 18 de febrero de 2011 17:14