Spanish [SOLUCIONADO] Consulta Spinner

rscheel

Well-Known Member
Licensed User
Longtime User
Tengo el siguiente dilema, estoy cargando varios spinner por BD Sqlite, lo que quisiera saber como puedo cargar, el segundo spinner dependiendo del valor que seleccione en el primer spinner.

B4X:
Sub SpinnerEmpresario
        c = s.ExecQuery("SELECT * FROM emsefor")
        SpinEmpresario.Add("Seleccione Empresario..")
        For I = 0 To c.RowCount - 1
        DoEvents
        c.Position = I
        SpinEmpresario.Add(c.GetString("id_emsefor"))
        ID_emsefor = c.GetString("id_emsefor")
        Next
        SpinnerJfaena   
        c.Close
End Sub   
Sub SpinnerJfaena
        c = s.ExecQuery("SELECT * FROM cam_jefefaena where id_emsefor = '" & ID_emsefor & "' ")
        SpinJfaena.Add("Seleccione Jefe Faena..")
        For I = 0 To c.RowCount - 1
        DoEvents
        c.Position = I
        'If ID_emsefor == c.GetString("id_emsefor") Then
        SpinJfaena.Add(c.GetString("nombre"))
        'End If
        Next
        c.Close
End Sub

Espero me puedan ayudar. Gracias.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola rscheel:

La verdad que no entiendo muy bien el problema, por que si quieres cargar el segundo Spinner, creo que es tan facil como hacer una condición If ... Then

B4X:
If ID_emsefor = Valor que te interese Then  SpinnerJfaena

Saludos
 

rscheel

Well-Known Member
Licensed User
Longtime User
Bueno se Soluciona de esta manera les dejo el código a alguien le puede servir.

B4X:
Sub SuSpinner
        Dim NombreLista As List
        NombreLista.Initialize
        s.BeginTransaction
        c = s.ExecQuery("SELECT * FROM su_tabla")
        For I = 0 To c.RowCount - 1
        c.Position = I
        SpinUno.Add(c.GetString("nombre"))
        NombreLista.Add(c.GetString("id_registro"))
        Next   
        SpinUno.Tag = NombreLista
        s.TransactionSuccessful
        s.EndTransaction
        c.Close
End Sub

B4X:
Sub SuSpinner_ItemClick (Position As Int, Value As Object)
        Dim cCod As String
        Valor = SpinUno.Tag
        cCod = Valor.Get(Position)
        Dim Lista2Nombre As List
        Lista2Nombre.Initialize
        SpinDos.Clear
        s.BeginTransaction
        c = s.ExecQuery("SELECT * FROM su_tabla2 WHERE id_registro = " & cCod)
        For I = 0 To c.RowCount - 1
        c.Position = I
        Lista2Nombre.Add(c.GetString("id") )
        SpinDos.Add(c.GetString("nombre"))
        Next
        s.TransactionSuccessful
        s.EndTransaction
        SpinDos.Tag = Lista2Nombre
        c.Close
End Sub

El Spin.Tag = que recibe la lista, se recupera al momento de guardar el formulario a la bd, así recupera el valor o id de la posición que esta mostrando el spinner.

Saludos, espero le sirva a alguien.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola rscheel, gracias por tu aporte.

Podrias poner en la cabecera [SOLUCIONADO], asi hacemos mas agil el foro, gracias.

Saludos
 
Top