2. En el web form vamos a agregar una tabla con una variable (&editHabilidadNombre Varchar 200) y una imagen que sera el botón para agregar:
3. Agregamos otra tabla que llamaremos TblGridHabilidadSuggest y dentro agregamos un grid que llamaremos GridHabilidadSuggest que tendra las variables &gHabilidadNombre y &gHabilidadId
4. En las propiedades del grid, vamos a activar la propiedad Allow Selection:
5. En el theme creamos una nueva clase table a la cual llamaremos TableGridSuggest y se la asignaremos a la tabla que contiene al grid, la cual debe tener las siguientes propiedades:
6. En el Theme creamos una nueva clase del tipo GridRow a la cual llamaremos GridRowNoHeader y le pondremos la siguiente propiedad:
7. En el Theme creamos una nueva clase del tipo Grid que llamaremos GridSinHeader y se la asignaremos al grid que creamos, tendra las siguiente propiedades :
8. En la sección de eventos, en el start vamos a ocultar la tabla que contiene el grid:
9. Agregamos otro evento que va a controlar cuando se este escribiendo sobre el campo y realizara un refresh sobre el grid:
10. Creamos el evento load del grid, en el cual validamos si el campo no esta vacio, en ese caso recorremos con un for each el catalogo de habilidad y filtramos por las habilidades que inicien con lo que esta escrito en el campo hasta el momento, y volverá visible la tabla que contiene el grid:
11. Creamos el evento OnLineActivate del grid, en el que vamos a llamar un procedimiento que nos guardara la habilidad seleccionada en el suggest, después vamos a limpiar el campo con setEmpty() y ocultamos la tabla que contiene al grid:
De esta forma tendremos un grid que funciona como un suggest y si lo que se ingreso en el campo no existe en nuestro catalogo tenemos la posibilidad de agregar directamente usando lo que se ingreso en el campo.
He omitido varias partes como el evento del boton para agregar, ya que este funciona como cualquier otro y no es importante para lo que se quiere mostrar. También omità que hay otro grid debajo en el cual se van mostrando las habilidades que ya estan agregadas y que se van agregando, pero no es necesario para realizar el custom suggest.
Seguramente habrá mejores formas para resolver esta necesidad o tengan otras ideas para mejorarlo y me encantará leerlos, asà que si gustan pueden comentar aquà cualquier idea o duda que tengan.
0 comentarios: