
22/09/2009, 17:34
|
| | Fecha de Ingreso: agosto-2008
Mensajes: 142
Antigüedad: 16 años, 6 meses Puntos: 2 | |
Respuesta: ComboBox en visual net con SqlServer antes que nada gracias por responder.
los datos de cp los tengo en Sql, y en mi capa de datos mando a llamar un procedimiento que elabore y el cual me obtiene todos los datos con solo darle el cp
mi capa de datos: Funcion que me trae todos los datos segun el cp proporcionado
Public Function BusCodPos(ByVal CP As String) As Entidades.Inmuebles
Using oCnn As SqlConnection = CreateConnection()
oCnn.Open()
Using oCmd As New SqlCommand
oCmd.Connection = oCnn
oCmd.CommandType = CommandType.StoredProcedure
oCmd.CommandText = "CodPos"
oCmd.Parameters.AddWithValue("@CP", CP)
Dim oInmuebles As New Entidades.Inmuebles
Try
Using oReader As SqlDataReader = oCmd.ExecuteReader
Do While oReader.Read
Dim oInmueble As New Entidades.Inmueble
oInmueble.Col = oReader("Col")
oInmueble.DelMun = oReader("DelMun")
oInmueble.Estado = oReader("Estado")
oInmuebles.Add(oInmueble)
oInmueble = Nothing
Loop
Return oInmuebles
End Using
Finally
oInmuebles = Nothing
End Try
End Using
End Using
End Function
Esta funciona perfectamente, en modo depuracion puedo ver el total de colonias por cp
hasta qui todo bien
Capa de presentacion:
al dar dobleclick en el textbox cp (ya alinetado con el numero de codigo correspndiente)
me llena correctamente mis datos de municipio y estado y en colonia me pone la primera
por lo cual le meti un combobox
Private Sub Codigos()
Dim oInmuebles As Entidades.Inmuebles
Dim oInmueblesNegocio As New Negocio.Inmuebles
Try
oInmuebles = oInmueblesNegocio.BusCodPos(CP)
If oInmuebles.Count > 0 Then
With oInmuebles(0)
txtCol.Text = .Col ORIGINALMENTE TEXTBOX, PERO COMO EN OCASIONES SON
cmbCol.Text = .Col MAS DE UNA USE EL COMBOBOX cmbCol
txtDelMun.Text = .DelMun
txtEst.Text = .Estado
End With
Else
MessageBox.Show("El CP solicitado no existe. Verifique.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
'grpDir.Enabled = False
'btnAceptar.Visible = False
End If
Catch ex As Exception
'Muestra el error ocurrido
MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
'Liberamos memoria
oInmuebles = Nothing
oInmueblesNegocio = Nothing
End Try
End Sub
al dar doble click me llama a codigos, el problema es que el combo solo me presenta la primera colonia y no me da opcion de mas
si uso DataSource, me manda error |