Principales respuestas
Personalizar columnas en un gridview ?

Pregunta
-
Es posible elegir las columnas que quiero que se carguen en un gridview ? estoy cargando un grid con un list de objetos, el problema es que en los objetos de ese list no estoy cargando todos sus campos pero el gridview muestra igual la columna con las filas vacias, como puedo no mostrar esas columnas que vienen vacias en mi list ?
Ej, tengo una clase Cliente,
cliente
id,
nombre, -> tiene valores
apellido -> tiene valores
estado -> no tiene valor
y asi muestra el grid:
nombre apellido estado
pepe rojas
cami rojas
Respuestas
-
Hola loopsInfinite
Precisamente, si tu llenas el grid directamente, lo obligas a que te muestre todos los campos de la lista con la que lo llenas. Muy por el contrario, si especificas de la manera que te indicaba en la propiedad campo por campo y no le especificas uno de ellos, al momento de llenar el gridview, por más que le coloques..
Gridview.DataSource= lista
...esto respetará los campos que has indicado en la propiedad mencionada.
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
- Propuesto como respuesta Joyce_ACModerator martes, 2 de mayo de 2017 15:03
- Marcado como respuesta Joyce_ACModerator lunes, 8 de mayo de 2017 14:11
Todas las respuestas
-
Hola loopsInfinite
En la propiedad columns vas agregando las columnas y colocando los atributos de la entidad que deseas llenar en el valor DataField, (nombre, apellido); si llenas la lista directamente te mapeará todos los atributos de la entidad automaticamente.
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
-
Hola loopsInfinite
En la propiedad columns vas agregando las columnas y colocando los atributos de la entidad que deseas llenar en el valor DataField, (nombre, apellido); si llenas la lista directamente te mapeará todos los atributos de la entidad automaticamente.
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
Hola gracias por responder, la verdad me falto detallar un poco mas el problema, existe alguna forma de modificarlas manualmente ? ya que el grid lo estoy cargando manualmente con una lista
grid1.DataSource = listPersonas(); grid1.DataBind();
al hacer eso, el grid no discrimina entre los campos que vienen vacíos o no, simplemente muestra la cantidad de columnas segun la cantidad de atributos que posea la clase de la cuál se compone mi list, ademas las columnas las deja con el mismo nombre de mis campos de clase, lo otro es que tampoco me muestra los campos compuestos, es decir en mi clase persona tengo:
public string nombre{ get; set; } --> se visualiza como columna public string apellido{ get; set; } --> se visualiza como columna public string estado { get; set; } --> se visualiza como columna pero no tiene valores public Tipo tipo { get; set; } --> por dentro contiene valores pero el grid no lo considera como campo constructor { tipo = new Tipo(); }
- Editado loopsInfinite lunes, 1 de mayo de 2017 20:23 ortografia
-
Hola loopsInfinite
Precisamente, si tu llenas el grid directamente, lo obligas a que te muestre todos los campos de la lista con la que lo llenas. Muy por el contrario, si especificas de la manera que te indicaba en la propiedad campo por campo y no le especificas uno de ellos, al momento de llenar el gridview, por más que le coloques..
Gridview.DataSource= lista
...esto respetará los campos que has indicado en la propiedad mencionada.
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
- Propuesto como respuesta Joyce_ACModerator martes, 2 de mayo de 2017 15:03
- Marcado como respuesta Joyce_ACModerator lunes, 8 de mayo de 2017 14:11
-
hola
>>Es posible elegir las columnas que quiero que se carguen en un gridview ?
puedes indicar por medio de BoundField que columnas quieres visualizar, pero estarias definiendo las columnas del grid en tiempo de diseño, para lo cual debes indicar el AutoGenerateColumns = false
usarias la opcion de la imagen
para agregar las columnas que quieres visualizar
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina