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.