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
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
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.