WebDialog con ListBox

  1. 5 months ago
    Edited 5 months ago

    Buenas tardes.

    Estoy iniciandome en xojo. La verdad que ahora mismo ando un poco despistado como neofito en xojo, pero ya estoy desarrollando mi primera web app. El problema que tengo que resolver es el siguiente:

    Quiero crear una subclase del control WebDialog, sobreescribir el metodo show para que reciba un recordset como parámetro, y pintar dinamicamente un listbox dentro del WebDialog que muestre los datos del recordset que se ha pasado como parametro.

    1ºDuda: Como agrego dinamicamente al webdialog un listbox en tiempo de ejecucion.
    2ºDuda: Como hago para sobreescribir el método show de forma que este reciba un recordset.

  2. Javier M

    Apr 7 Pre-Release Testers, Xojo Pro, Third Party Store AprendeXojo - Europe, Spain
    Edited 5 months ago

    Hola Aaron,

    1. Arrastra un control Palette desde la Librería al proyecto (este aparecerá con el nombre Palette1 en el Navegador de Proyecto).
    2. Selecciona el objeto "Palette1" en el Navegador de Proyecto, esto te dará acceso al Editor
    3. Arrastra sobre el Editor de "Palette1" un ListBox desde la Librería. Ajusta tamaño y posición a los deseados. También puedes añadir otros elementos que necesites. Con esto solucionas el tema del listado.
    4. Selecciona "Palette1" en el Navegador de Proyecto y selecciona Add to "palette1" > Method
    5. Esto te dará acceso al editor. En el campo Method Name, escribe "Show". En el campo Parameters escribe "rs As RecordSet" u otro nombre de variable que prefieras. Con esto estarás sobre escribiendo el método "Show", de modo que puedas invocarlo pasando un recordset como parámetro.

    Ahora, para probar lo anterior. Por ejemplo, en el evento Open de la WebPage, escribe lo siguiente:

    Dim rs As RecordSet
    Dim wd As New Palette1
    
    wd.Show( rs )

    Por supuesto, aquí estarás pasando el RecordSet como un objeto Nil… pero verás que se invoca el método correcto, definido previamente.

    En tu app real, sustituye la primera línea por una consulta contra la BBDD que te devuelva un RecordSet válido.

    Javier

or Sign Up to reply!