Visual Basic.NET - combobox y sql

 
Vista:
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

combobox y sql

Publicado por javier (23 intervenciones) el 13/05/2018 08:09:21
Saludos!!

Agradecería mucho si me pudieran echan una mano con esta situación por favor

Tengo una BD con dos tablas (Categorías y cuotas) lleno un datagridview con datos de la tabla "cuotas" la cual contiene el id_categorias, al dar click en algún capo llena los textbox, y necesito que apartir de esa consulta, un combobox se llene con el listado de todas las categorías pero el item principal sea el que señale yo del campo que seleccione del datagrid.

Actualmente me muestra la descripción de la categoría que selecciono pero no me muestra todas las categorías de la tabla

tengo el siguiente codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub DataGridView1_CellContentClick_1(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    Try
        TxtModclave.Text() = DataGridView1.Rows(e.RowIndex).Cells(1).Value()
        TxtModDescrip.Text() = DataGridView1.Rows(e.RowIndex).Cells(2).Value()
        TxtModCosto.Text() = DataGridView1.Rows(e.RowIndex).Cells(3).Value()
        TxtModidCat.Text() = DataGridView1.Rows(e.RowIndex).Cells(11).Value()
        TabControl1.SelectedIndex = 2
 
        llenarcombo2()
 
    Catch ex As Exception
        MessageBox.Show("Selecciona campos que contengan algun registro")
    End Try
End Sub
Private Sub llenarcombo2()
    Dim combomod As New SqlDataAdapter("select * from Categorias where id_categoria = '" & TxtCat.Text & "'", conex)
    Dim tabla2 As New DataTable
 
    combomod.Fill(tabla2)
 
    For Each fila As DataRow In tabla2.Rows
        ComboCategoria.Items.Add(fila("Descripción"))
    Next
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

combobox y sql

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 14/05/2018 01:41:44
Tienes 2 problemas.

1.- Desarrollar tu lógica.
2.- Mal el código debido al punto 1

Según tu consulta le estás diciendo que te traiga una y solo una categoría, la que tenga el idcategoría igual a lo que hay en un textbox, por lo tanto eso te trae la consulta, un solo registro, de dónde quieres que esa consulta te devuelva mas registros si le estás diciendo que te traiga el que tenga ese idcategoría?. A menos que tengas registros duplicados, de otra manera no hay de donde traer mas registros.

Si quieres todos los registros de la tabla categorías, quítale el where y te devolverá todas las categorías.

Otra cosa que tienes mal, o no es lo correcto: Hacer una consulta, para traerte los datos y luego recorrerlos para llenar el combobox.

No crees que sería mejor usar el datasoruce del combobox y pasarle los datos por allí desde el objeto que tiene los datos en vez de recorrerlos uno a uno para agregarlos?.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

combobox y sql

Publicado por giancarlo (488 intervenciones) el 14/05/2018 19:30:33
1. Yo cambiaría el cellContentClick por solo CellClick, ¿por que? con el content deberás hacer doble clic en el texto dentro de la celda, si está vacia o haces clic en el lado vacio, no se ejecutará.

2. como dice Wilfredo "Hacer una consulta, para traerte los datos y luego recorrerlos para llenar el combobox" Llena los datos con todas las categorias posibles y al hacer clic, solo selecciona la opcion corercta, a menos que las cuotas tengan diferentes categorias (por ejemplo, la cuota 1 tiene 3 categorias, la cuota 2 tiene 5 categorias) pero eso ya es otra cosa y no lo especificas

3. Cargarías los items del combobox al iniciar el formulario
combobox1.displayMember="Nombre de la columna que indique el nombre"
combobox1.valueMember="Nombre de la columna que indique el id"
combobox1.datasource=tabla2

4. Cuando hagas clic en el datagridview, puedes seleccionar la categoria con
combobox1.selectedvalue=id categoria seleccionado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

combobox y sql

Publicado por javier (23 intervenciones) el 26/05/2018 19:49:24
muchas gracias, me sirvió bastante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar