Dudas sobre List
-
Buenas noches,
¿Cómo es la función para seleccionar un elemento de una lista de String? Encontré unos ejemplos con
lista.setSelected([])
pero simplemente no pasa nada, probé con distintos argumentos sin resultado. ¿A su vez, cómo se puede castear a Integer un elemento seleccionado? Los típicos casteos no me los reconoce.
Gracias.
-
Hola @acevedorj . Depende de lo que quieras hacer. 1) Has definido un arreglo de algún tipo de dato y lo has bindeado a un componente List (lista) o Select (selector). El usuario selecciona un elemento de la lista o selector. Para acceder a este elemento desde el código hay que acceder al índice del elemento seleccionado con los métodos de Array selected() y get() y luego con ese dato buscarlo en el arreglo con el método get(). Ej.
Experience Exp1 {
Array<Integer> nums value([24, 22, 31, 11]) as List
}RuleContext ctx {
Rule obtenerResultado {
Exp1 exp = broker.ui.getDataSource()
Integer indice = exp.nums.selected().get(0) // índice del elemento seleccionado
Integer seleccionado = exp.nums.get(indice) // obtengo elemento seleccionado
broker.ui.showAlert("Elemento seleccionado: ", seleccionado.toString())
}
}Acordate de asociar la regla anterior al componente List o Select desde el Build UI (Properties->Events-> "OnSelectEvent y "RunRuleAction").
Con respecto a los casteos, se deben utilizar los métodos disponibles para cada tipo de dato, obtendrás mayor información en mat|r Docs, Tipos de Dato. Ej. Para castear Integer o Double a String se debe usar el método toString() de Integer y Double.