Rellenar un ComboBox con un DataTable
Estoy haciendo un programa en el que hago una consulta SQL a través de una función en el que recupero el nombre de los campos de las columnas de una tabla sql. Luego el contenido lo presento a través de un combobox. La visualización de los campos en el combobox lo hago, lo que no consigo es que quiero representar en un textbox y guardar en una variable el item seleccionado en el combobox.
El código que utilizo es el siguiente:
FORM LOAD
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With ComboFILTRO1 .DisplayMember = "COLUMN_NAME"
End With
Función que recupera de una SQL el nombre de las columnas de una tabla
Function Nombrescolumnas(ByVal conexión As String, Optional ByVal nombretabla As String = "") As DataTable
Dim conectar As New SqlClient.SqlConnection(conexión)
conectar.Open()
Dim adapter As SqlDataAdapter = New SqlDataAdapter
Dim comando As New SqlCommand("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='" & nombretabla & "' ORDER BY ORDINAL_POSITION", conectar)
comando.CommandType = CommandType.Text
adapter.SelectCommand = comando
Dim tabla As DataTable = New DataTable
adapter.Fill(tabla) Return tabla
End Function
Asigno el datatable que devuelve la función a un combobox
ComboFILTRO1.DataSource = classSQL.Nombrescolumnas(conexión, tabla).
Si selecciono un item del combobox y utilizo la propiedad .selectedindex me devuelve el indice del campo seleccionado, pero sin embargo utilizo selecteditem me devuelve datarowview.
Como puedo hacer esto para conseguir el nombre del campo seleccionado del combobox
El código que utilizo es el siguiente:
FORM LOAD
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With ComboFILTRO1 .DisplayMember = "COLUMN_NAME"
End With
Función que recupera de una SQL el nombre de las columnas de una tabla
Function Nombrescolumnas(ByVal conexión As String, Optional ByVal nombretabla As String = "") As DataTable
Dim conectar As New SqlClient.SqlConnection(conexión)
conectar.Open()
Dim adapter As SqlDataAdapter = New SqlDataAdapter
Dim comando As New SqlCommand("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='" & nombretabla & "' ORDER BY ORDINAL_POSITION", conectar)
comando.CommandType = CommandType.Text
adapter.SelectCommand = comando
Dim tabla As DataTable = New DataTable
adapter.Fill(tabla) Return tabla
End Function
Asigno el datatable que devuelve la función a un combobox
ComboFILTRO1.DataSource = classSQL.Nombrescolumnas(conexión, tabla).
Si selecciono un item del combobox y utilizo la propiedad .selectedindex me devuelve el indice del campo seleccionado, pero sin embargo utilizo selecteditem me devuelve datarowview.
Como puedo hacer esto para conseguir el nombre del campo seleccionado del combobox
1 Respuesta
Respuesta de Roberto Alvarado
1