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

1 respuesta

Respuesta
1
Cuando se llena un combo ademas del dataSource existen 2 propiedades a llenar
combo1. Displaymember = "Campo del data source a mostrar en la lista del combo"
Combo1. Valuemember = "campo que representa el código de la descripción del dsiplaymember"
Con esto, cuando pides el combo1. SelectedValue obtienes el código
correspondiente a la descripción de la lista del combo que selecciones.
Si esto lo sé lo que no tengo muy claro es lo que tengo que poner en el campo valuemember.
Tengo una tabla en la cual los nombres de las columnas son ID, deflector, inyector. Entonces cuando hago la consulta me devuelve ID, deflector, inyector.
En el campo del combobox displaymember pongo "COLUMN_NAME" pero en valuemember no sé que debo poner?
Igual para que te devuelva el nombre del campo de la tabla al ser seleccionado.
Saluds

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas