ASP.NET - Ayuda en ASP.NET con C#

 
Vista:

Ayuda en ASP.NET con C#

Publicado por Rodrigo Contreras (2 intervenciones) el 11/10/2011 19:55:07
Hola Amigos Programadores.

Soy nuevo en esto de la programacion y me encuentro haciendo mi practica, estoy en un proyecto donde tengo que programar en ASP.NET en C# con bases de Datos en Oracle, debido a que soy nuevo tengo varias consultas y ojala me puedan ayudar.

Necesito generar un Gridview Dinamico, quiero tener un gridview con 8 columnas para despues agregarle un datatable que cree anteriormente lo hice de esta manera y al ejecutarlo me da solo el ultimo. Como podria generar el Gridview correctamente.

Mi Codigo:
GridView gvexportar = new GridView();
BoundField columna = new BoundField();
gvexportar.AutoGenerateColumns = false;
columna.HeaderText="OT";
columna.DataField="OT";
gvexportar.Columns.Add(columna);
columna.HeaderText = "NICKNAME";
columna.DataField = "NICKNAME";
gvexportar.Columns.Add(columna);
columna.HeaderText = "FechaAdmision";
columna.DataField = "FECHAADMISION";
gvexportar.Columns.Add(columna);
columna.HeaderText = "TotalEnvios";
columna.DataField = "ENVIOS";
gvexportar.Columns.Add(columna);
columna.HeaderText = "Faltantes";
columna.DataField = "faltantes";
gvexportar.Columns.Add(columna);
columna.HeaderText = "Admitidos";
columna.DataField = "ADMITIDOS";
gvexportar.Columns.Add(columna);
columna.HeaderText = "Entregados";
columna.DataField = "entregados";
gvexportar.Columns.Add(columna);
columna.HeaderText = "Devueltos";
columna.DataField = "devueltos";
gvexportar.Columns.Add(columna);
columna.HeaderText = "Proceso";
columna.DataField = "enprocesos";
gvexportar.Columns.Add(columna);
gvexportar.DataSource = (DataTable)Session["gridOT"];
gvexportar.DataBind();

De Antemano Gracias por su ayuda.

Rodrigo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda en ASP.NET con C#

Publicado por roger (45 intervenciones) el 11/10/2011 20:33:11
prueba creando una instancia de Boundfield por cada columna que necesites agregar, no utilizando la misma instancia como lo haces actualmente

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda en ASP.NET con C#

Publicado por Rodrigo Contreras (2 intervenciones) el 11/10/2011 21:18:10
Gracias Roger, me resulto, aunque quedo un poco largo el codigo, lo dejo por si otro programador junior como yo le sirve.

GridView gvexportar = new GridView();
gvexportar.AutoGenerateColumns = false;

BoundField columna = new BoundField();
columna.HeaderText="OT";
columna.DataField="OT";
gvexportar.Columns.Add(columna);

BoundField columna1 = new BoundField();
columna1.HeaderText = "NICKNAME";
columna1.DataField = "NICKNAME";
gvexportar.Columns.Add(columna1);

BoundField columna2 = new BoundField();
columna2.HeaderText = "FechaAdmision";
columna2.DataField = "FECHAADMISION";
gvexportar.Columns.Add(columna2);

BoundField columna3 = new BoundField();
columna3.HeaderText = "TotalEnvios";
columna3.DataField = "ENVIOS";
gvexportar.Columns.Add(columna3);

BoundField columna4 = new BoundField();
columna4.HeaderText = "Faltantes";
columna4.DataField = "faltantes";
gvexportar.Columns.Add(columna4);

BoundField columna5 = new BoundField();
columna5.HeaderText = "Admitidos";
columna5.DataField = "ADMITIDOS";
gvexportar.Columns.Add(columna5);

BoundField columna6 = new BoundField();
columna6.HeaderText = "Entregados";
columna6.DataField = "entregados";
gvexportar.Columns.Add(columna6);

BoundField columna7 = new BoundField();
columna7.HeaderText = "Devueltos";
columna7.DataField = "devueltos";
gvexportar.Columns.Add(columna7);

BoundField columna8 = new BoundField();
columna8.HeaderText = "Proceso";
columna8.DataField = "enprocesos";
gvexportar.Columns.Add(columna8);

gvexportar.DataSource = (DataTable)Session["gridOT"]; //Guarde los datos en esta variable de sesion para poder ocuparlos
gvexportar.DataBind();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

Ayuda en ASP.NET con C#

Publicado por roger (311 intervenciones) el 11/10/2011 21:33:51
para mejorarlo puedes hacer una funcion que te retorne el BoundField instanciado con las propiedades asignadas

Algo como :

private BoundField ObtenerColumna(string headerText, string dataField)
{
BoundField columna = new BoundField();
columna8.HeaderText = headerText;
columna8.DataField = dataField;
return columna ;
}

Y luego solo llamas a la funcion:

gvexportar.Columns.Add(ObtenerColumna("OT", "OT"));
gvexportar.Columns.Add(ObtenerColumna("NICKNAME", "NICKNAME"));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda en ASP.NET con C#

Publicado por Rodrigo Contreras (4 intervenciones) el 17/10/2011 08:13:20
Voy a implementarlo y te cuento como me va y nuevamente muchas gracias por la ayuda Roger
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar