DataGrid y Dataset con relaciones

15/12/2004 - 16:58 por Gonzalo Díaz | Informe spam
Buenas...

Tengo una consulta para los expertos en ADO.
Ya busque la solucion a este problema en libros y no la encuentro...
El problema es el siguiente:

Tengo 2 DataTables: en un Dataset:
Profesionales:
IDProfesional Int
Nombre String
Turnos:
IDTurno Int
IDProfesional Int
Fecha Datetime
Las datatables estan relacionadas por el campo IDProfesional.

Tambien hay un DataGrid que esta bindeado con "Turnos", por lo tanto la
grilla me esta mostrando los 3 campos de la tabla "Turnos".
Como puedo hacer para que en la grilla me aparezca el campo "Nombre" de la
tabla "Profesionales" en vez del "IDProfesional" de la tabla "Turnos" ???

Desde ya muchas gracias !
Saludos !!!!
 

Leer las respuestas

#1 Imac_Man
15/12/2004 - 17:42 | Informe spam
ok como el caso es que tienes pegado el grid a un table "Tnurnos" de un
dataset, puedes hacer lo siguiente, en lugar de llenar el table con la tabla
simple, relacionala antes con la tabla de Profesiones, asi:

strCadena = " select cast(a.idProfesional as varchar) + '-' + b.Nombre,
a.IdTurno, a.Fecha from Turnos as a, Profesionales as b"
strCadena &= " where b.idProfesional = a.idProfesional"

luego llenas el datatable asi (supondremos que ya tenemos la conexion)
dim Comando as new sqlclient.slqCommand
dim Adaptador as new sqlclient.sqlDataAdapter
dim DS as new DataSet

Comando.CommandText = strCadena
Comando.connection = Conexion
Adaptador.SelectCommand = Comando
Adaptador.Fill(DS,"Turnos")

DataGrid1.DataSource = Ds.Tables("Turnos")

con esto obtendras una columna que te muestra tanto el codigo como el nombre
de ese profesional, si tienes mas dudas platicalas y veremos como las vamos
sacando, saludos


"Gonzalo Díaz" escribió en el mensaje
news:
Buenas...

Tengo una consulta para los expertos en ADO.
Ya busque la solucion a este problema en libros y no la encuentro...
El problema es el siguiente:

Tengo 2 DataTables: en un Dataset:
Profesionales:
IDProfesional Int
Nombre String
Turnos:
IDTurno Int
IDProfesional Int
Fecha Datetime
Las datatables estan relacionadas por el campo IDProfesional.

Tambien hay un DataGrid que esta bindeado con "Turnos", por lo tanto la
grilla me esta mostrando los 3 campos de la tabla "Turnos".
Como puedo hacer para que en la grilla me aparezca el campo "Nombre" de la
tabla "Profesionales" en vez del "IDProfesional" de la tabla "Turnos" ???

Desde ya muchas gracias !
Saludos !!!!


Preguntas similares