• Viernes 8 de Noviembre de 2024, 14:50

Autor Tema:  Llenado De Un Combobox Con Un Data Table  (Leído 3830 veces)

racavi1981

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Llenado De Un Combobox Con Un Data Table
« en: Sábado 16 de Febrero de 2008, 20:47 »
0
Buenas tardes, tengo la siguiente duda.

Estoy tratando de llenar un combobox con los datos que tengo en una tabla en la BD a travez de un data table.

El asunto es que cuando muestro el .DisplayMember lo presenta perfecto pero cuando hago un SelectedIndexChanged al combox para que me muestre el Valuemember, lo que muestra es el nombre del campo de la bd que quiero que referencie mas no el valor.

Aqui esta el codigo que me llena el DataTable:

Código: Text
  1.  
  2. Function GetSql(ByVal str As String) As DataTable
  3.        
  4.         Dim cmd As New OleDb.OleDbCommand(str, MyConnection)
  5.         Dim ada As New OleDb.OleDbDataAdapter(cmd)
  6.         Dim dt As New DataTable
  7.  
  8.         ada.Fill(dt)
  9.         Return dt
  10.  
  11.     End Function
  12.  
  13.  


Aqui esta el codigo que llena el ComboBox:
Código: Text
  1.  
  2. Private Sub llenar_doctores()
  3.         medico_paciente.DataSource = GetSql("SELECT nombre +' '+ apellido as nombrecompleto, id_personal FROM personal_medico")
  4.         medico_paciente.DisplayMember = "nombrecompleto"
  5.         medico_paciente.ValueMember = "id_personal"
  6.  
  7.     End Sub
  8.  
  9.  

Código: Text
  1.  
  2. Private Sub medico_paciente_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles medico_paciente.SelectedIndexChanged
  3.         Me.doctor_paciente.Text = medico_paciente.ValueMember
  4.     End Sub
  5.  
  6.  

Muchas gracias de antemano a quien me pueda ayudar a solucionar este problema.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Llenado De Un Combobox Con Un Data Table
« Respuesta #1 en: Sábado 16 de Febrero de 2008, 20:58 »
0
Cambiá esta linea
Código: Text
  1. Me.doctor_paciente.Text = medico_paciente.ValueMember
  2.  
por esta otra
Código: Text
  1. Me.doctor_paciente.Text = medico_paciente.SelectedValue
  2.  
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

racavi1981

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Llenado De Un Combobox Con Un Data Table
« Respuesta #2 en: Sábado 16 de Febrero de 2008, 22:19 »
0
me da un error:   :(

Citar
La conversión del tipo 'DataRowView' en el tipo 'String' no es válida

Incluso puse de esta manera y no logro resolver:

Código: Text
  1.  
  2. Me.doctor_paciente.Text = CStr(medico_paciente.SelectedValue)
  3.  
  4.