Principales respuestas
Referente a la carga GridView de Nombre de una FK

Pregunta
-
Tengo un GridView el cual muestra los campos de la Tabla Dirección con todos sus campos entre ellos hay uno que es la clave ajena ID_TipoDirección y quería que esa clave ajena ID_TipoDireccion en vez de mostrar el número mostrará de la tabla TipoDireccion el campo Nombre, ¿Cómo lo puedo hacer?
El GridView esta enlazado el DataSource con la clase Direccion, con lo cual de forma automatica me genera los campos.
GridView.DAtaSource= Direccion
Saludos
Respuestas
-
hola
Tienes que aplanar los datos en una nueva entidad
public class GridData{ //propiedades de Direccion public string TipoDireccion {get;set;} }
la idea es que en e query realices el join a la tabla Tipo Direccion y devuelvas el dato de nombre de la direccion
Sino vas a tener que cambiar el binding
GridView bound with Properties of nested class
usando
<%#DataBinder.Eval(Container.DataItem, "NestedClass.Name")%>
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Carlos_Ruiz_M lunes, 20 de mayo de 2019 14:58
- Marcado como respuesta Tonatiuh AbregoModerator martes, 28 de mayo de 2019 15:13
Todas las respuestas
-
hola
Tienes que aplanar los datos en una nueva entidad
public class GridData{ //propiedades de Direccion public string TipoDireccion {get;set;} }
la idea es que en e query realices el join a la tabla Tipo Direccion y devuelvas el dato de nombre de la direccion
Sino vas a tener que cambiar el binding
GridView bound with Properties of nested class
usando
<%#DataBinder.Eval(Container.DataItem, "NestedClass.Name")%>
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Carlos_Ruiz_M lunes, 20 de mayo de 2019 14:58
- Marcado como respuesta Tonatiuh AbregoModerator martes, 28 de mayo de 2019 15:13
-
Hola Lignou
Vos tenés una consulta (query) a la BD, que te devuelve un DataTable en un DataAdapter, me imagino.
Podés
1) Cambiar el texto SQL de la consulta, así (la FK es la clave ajena o externa)
SELECT "todos los campos menos la FK con el prefijo d. más t.Nombre"
FROM DIRECCION d INNER JOIN TIPO_DIRECCION t
ON d.ID_TipoDireccion = t.ID_TipoDireccion
o, 2)
Cargar en un List< > de objetos personalizados, que contengan los datos que vos querés que muestre el gridView, desde el DataTable o lo que sea que te devuelve tu consulta (la original), y le pasás ese List < > al DataSource
Me parece que 1) es más fácil ...
También, se puede asignar DataSource columna por columna, aunque no creo en este caso
Saludos
Pablo