SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: racavi1981 en Sábado 16 de Febrero de 2008, 20:47

Título: Llenado De Un Combobox Con Un Data Table
Publicado por: racavi1981 en Sábado 16 de Febrero de 2008, 20:47
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.
Título: Re: Llenado De Un Combobox Con Un Data Table
Publicado por: Mollense en Sábado 16 de Febrero de 2008, 20:58
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.  
Título: Re: Llenado De Un Combobox Con Un Data Table
Publicado por: racavi1981 en Sábado 16 de Febrero de 2008, 22:19
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.