Datagrid y columnas de dos tablas relacionadas

13/11/2004 - 18:21 por Jose Carlos | Informe spam
Hola tengo un datagrid que está vinculado con un dataview y mi problema es
que una de las columnas del dataview es un numero IdPrueba que esta
relacionado con otra tabla y lo que yo querria es que en dicha columna en
vez del numero Id, me sacara el texto de la columna de la tabla
relacionada(la tabla es Pruebas y la columna de dicha tabla se llama
Prueba).
He definido dos DataGridTableStyles con sus correspondientes MappingName y
he añadido las DataGridTextBoxColumn y el problema es que no me muestra mas
que las columnas de la tabla que depende del dataview pero no me muestra la
columna que depende de la tabla relacionada.
El dataview dwDetalles es de la tabla DetallesPruebas.

¿Es imposible lo que quiero hacer o lo estoy haciendo mal?

Me.dGDetPruebas.DataSource = dwDetalles'(el dataview)

Me.DataGridTableStyle2.MappingName = Me.m_DetallesPruebas.Tabla.TableName
Me.DataGridTableStyle1.MappingName = Me.m_pruebas.Tabla.TableName

Dim DataGridTextBoxColumn1 As New DataGridTextBoxColumn
DataGridTextBoxColumn1.Format = ""
DataGridTextBoxColumn1.FormatInfo = Nothing
DataGridTextBoxColumn1.HeaderText = "Detalle"
DataGridTextBoxColumn1.MappingName = "IdDetalle"
DataGridTextBoxColumn1.Width = 70

Dim DataGridTextBoxColumn2 As New DataGridTextBoxColumn
DataGridTextBoxColumn2.Format = ""
DataGridTextBoxColumn2.FormatInfo = Nothing
DataGridTextBoxColumn2.HeaderText = "Fecha Resultado"
DataGridTextBoxColumn2.MappingName = "FechaResultado"
DataGridTextBoxColumn2.NullText = ""
DataGridTextBoxColumn2.Width = 80

Dim DataGridTextBoxColumn3 As New DataGridTextBoxColumn
DataGridTextBoxColumn3.Format = ""
DataGridTextBoxColumn3.FormatInfo = Nothing
DataGridTextBoxColumn3.HeaderText = "Resultado"
DataGridTextBoxColumn3.MappingName = "Resultado"
DataGridTextBoxColumn3.NullText = ""
DataGridTextBoxColumn3.Width = 80

Dim DataGridTextBoxColumn4 As New DataGridTextBoxColumn
DataGridTextBoxColumn4.Format = ""
DataGridTextBoxColumn4.FormatInfo = Nothing
DataGridTextBoxColumn4.HeaderText = "Prueba"
DataGridTextBoxColumn4.MappingName = "Prueba"
DataGridTextBoxColumn4.NullText = ""
DataGridTextBoxColumn4.Width = 80

Me.DataGridTableStyle2.GridColumnStyles.Add(DataGridTextBoxColumn1)
Me.DataGridTableStyle2.GridColumnStyles.Add(DataGridTextBoxColumn2)
Me.DataGridTableStyle2.GridColumnStyles.Add(DataGridTextBoxColumn3)
Me.DataGridTableStyle1.GridColumnStyles.Add(DataGridTextBoxColumn4)


Muchas gracias a todos

Preguntas similare

Leer las respuestas

#6 Jose Carlos
15/11/2004 - 09:34 | Informe spam
Pero es que al inicio hago una conexion a la base de datos y me bajo al
cliente todas las tablas que me interesan y no tenia intención de volver a
hacer otro viaje al servidor, teniendo las tablas ya en el dataset y sus
relaciones creadas.
Para eso tengo el dataset (habia pensado yo).

Muchas gracias.

"Christancho.NET" escribió en el mensaje
news:
Interesante, pero considero que es mas fácil hacer una consulta con un
INNER JOIN entre las tablas Pedidos y productos y traer al front end un
solo datatable y hacerle un binding hacia el datagrid.

"Jose Carlos" wrote in message
news:%
La datarelation ya está hecha previamente y sólo quiero que el datagrid
muestre en vez del Id que tiene una de las tablas(tabla hija), el texto
que tiene la otra tabla(padre) relacionada.

Dim col1 As DataColumn = Me.m_pruebas.Tabla.Columns("IdPrueba")
Dim col2 As DataColumn = Me.m_DetallesPruebas.Tabla.Columns("Prueba")
Me.m_pruebas.Datase.Relations.Add("RelationPruebas", col1, col2)


No estoy seguro de estar explicandolo bien. Pongo un ejemplo:
Yo tengo una tabla de Pedidos y en cada registro de la tabla de pedidos
tengo el IdProducto y en otra tabla padre llamada Productos tengo el
nombre de dicho producto. Quiero que en el datagrid donde pongo los
pedidos no me muestre el IdProducto, pues eso le dice muy poco al
usuario, sino que me ponga el nombre del producto.
Para ello creo la relacion entre las tablas, vinculo al datagrid a la
tabla Productos y creo dos DataGridTableStyles, el uno con MappingName
vinculado a una tabla y el otro MappingName a la otra tabla vinculada y
luego defino las columnas que me interesan de cada tabla en el
DataGridTableStyles que le corresponde.

"Jose Carlos" escribió en el mensaje
news:
Hola tengo un datagrid que está vinculado con un dataview y mi problema
es
que una de las columnas del dataview es un numero IdPrueba que esta
relacionado con otra tabla y lo que yo querria es que en dicha columna
en
vez del numero Id, me sacara el texto de la columna de la tabla
relacionada(la tabla es Pruebas y la columna de dicha tabla se llama
Prueba).
He definido dos DataGridTableStyles con sus correspondientes MappingName
y
he añadido las DataGridTextBoxColumn y el problema es que no me muestra
mas
que las columnas de la tabla que depende del dataview pero no me muestra
la
columna que depende de la tabla relacionada.
El dataview dwDetalles es de la tabla DetallesPruebas.

¿Es imposible lo que quiero hacer o lo estoy haciendo mal?

Me.dGDetPruebas.DataSource = dwDetalles'(el dataview)

Me.DataGridTableStyle2.MappingName =
Me.m_DetallesPruebas.Tabla.TableName
Me.DataGridTableStyle1.MappingName = Me.m_pruebas.Tabla.TableName

Dim DataGridTextBoxColumn1 As New DataGridTextBoxColumn
DataGridTextBoxColumn1.Format = ""
DataGridTextBoxColumn1.FormatInfo = Nothing
DataGridTextBoxColumn1.HeaderText = "Detalle"
DataGridTextBoxColumn1.MappingName = "IdDetalle"
DataGridTextBoxColumn1.Width = 70

Dim DataGridTextBoxColumn2 As New DataGridTextBoxColumn
DataGridTextBoxColumn2.Format = ""
DataGridTextBoxColumn2.FormatInfo = Nothing
DataGridTextBoxColumn2.HeaderText = "Fecha Resultado"
DataGridTextBoxColumn2.MappingName = "FechaResultado"
DataGridTextBoxColumn2.NullText = ""
DataGridTextBoxColumn2.Width = 80

Dim DataGridTextBoxColumn3 As New DataGridTextBoxColumn
DataGridTextBoxColumn3.Format = ""
DataGridTextBoxColumn3.FormatInfo = Nothing
DataGridTextBoxColumn3.HeaderText = "Resultado"
DataGridTextBoxColumn3.MappingName = "Resultado"
DataGridTextBoxColumn3.NullText = ""
DataGridTextBoxColumn3.Width = 80

Dim DataGridTextBoxColumn4 As New DataGridTextBoxColumn
DataGridTextBoxColumn4.Format = ""
DataGridTextBoxColumn4.FormatInfo = Nothing
DataGridTextBoxColumn4.HeaderText = "Prueba"
DataGridTextBoxColumn4.MappingName = "Prueba"
DataGridTextBoxColumn4.NullText = ""
DataGridTextBoxColumn4.Width = 80

Me.DataGridTableStyle2.GridColumnStyles.Add(DataGridTextBoxColumn1)
Me.DataGridTableStyle2.GridColumnStyles.Add(DataGridTextBoxColumn2)
Me.DataGridTableStyle2.GridColumnStyles.Add(DataGridTextBoxColumn3)
Me.DataGridTableStyle1.GridColumnStyles.Add(DataGridTextBoxColumn4)


Muchas gracias a todos










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida