Foros del Web » Programación para mayores de 30 ;) » .NET »

Combinar 2 tablas en un DropDownList!

Estas en el tema de Combinar 2 tablas en un DropDownList! en el foro de .NET en Foros del Web. Hola a tod@s!! Tengo un DropDownList al cual quisiera poner como DataTextField el valor de dos campos de dos tablas diferentes (nombre_departamento de la tabla ...
  #1 (permalink)  
Antiguo 29/10/2004, 16:00
Avatar de GustavoPY  
Fecha de Ingreso: marzo-2002
Ubicación: Capiatá
Mensajes: 88
Antigüedad: 22 años, 1 mes
Puntos: 0
Combinar 2 tablas en un DropDownList!

Hola a tod@s!!
Tengo un DropDownList al cual quisiera poner como DataTextField el valor de dos campos de dos tablas diferentes (nombre_departamento de la tabla departamentos y nombre_pais de la tabla paises)
Mi código es el siguiente:

Sub cargar_DtoPais(ByVal idempresa As Integer, ByVal DropDownList As DropDownList)

Dim SQLda As New SqlDataAdapter("SELECT * FROM paises WHERE id_empresa=" & idempresa, ConexionDB)
Dim id_pais As Integer
Dim ds As New DataSet
Dim i, j, maxpaises, maxdptos As Integer
Dim myrow As DataRow

ConexionDB = System.Configuration.ConfigurationSettings.AppSett ings("ConexionDB")
'ds.Tables.Add("departamentos")
'ds.Tables.Add("paises")
'SQLda = New SqlDataAdapter("SELECT * FROM paises WHERE id_empresa=" & idempresa, ConexionDB)
Me.SQLda.Fill(ds, "paises")
maxpaises = ds.Tables("paises").Rows.Count - 1
SQLda.SelectCommand.CommandText = "SELECT * FROM departamentos WHERE id_empresa=" & idempresa
Me.SQLda.Fill(ds, "departamentos")
maxdptos = ds.Tables("departamentos").Rows.Count - 1
ds.Tables.Add("dto")
ds.Tables.Add("dto").Columns.Add("id_departamento" )
ds.Tables.Add("dto").Columns.Add("nombre_departame nto")
For i = 0 To maxpaises
For j = 0 To maxdptos
If ds.Tables("paises").Rows(i).Item(0) = ds.Tables("departamentos").Rows(j).Item(0) Then
myrow = ds.Tables("dto").NewRow
myrow.Item("id_departamento") = ds.Tables("departamentos").Rows(j).Item("id_depart amento")
myrow.Item("nombre_departamento") = ds.Tables("departamentos").Rows(j).Item("nombre_de partamento") & " - " & ds.Tables("paises").Rows(i).Item("nombre_pais")
ds.Tables("dto").Rows.Add(myrow)
End If
Next
Next

DropDownList.DataSource = ds
DropDownList.DataMember = "dto"
DropDownList.DataTextField = "nombre_departamento"
DropDownList.DataValueField = "id_departamento"
DropDownList.DataBind()

End Sub

***********************fin********************
Pero el mismo me salta un error, "Referencia a Objeto no establecida como instancia de un Objeto" en la linea en negritas...

¿A qué puede deberse este problema?

Desde ya muchas gracias!
__________________
*********************************
Gustavo Arriola
http://www.gustavoarriola.com
*********************************
  #2 (permalink)  
Antiguo 30/10/2004, 08:04
Avatar de lucxx  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 321
Antigüedad: 20 años, 5 meses
Puntos: 0
Te pongo un ejemplo clásico y muy básico

"select usuarios.nombre + ' ' + usuarios.apellidos as nombre_apellidos from usuarios"

y luego

dropdownlist.dataTextField = "nombre_apellidos"

En este caso ambos campos pertenecen a la misma tabla, pero para tomar campos de tablas distintas simplemente hay que utilizar la consulta SQL adecuada.

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:44.