none
Llenar ComboBox desde javascript

    Question

  • Hola foro, tengo un problema en mi aplicacion asp tengo un combobox que debe ser llenado por medio de javascript, ya que los datos del mismo llegan en un momento determinado por un control silverlight que tengo en la misma pagina asp, entonces yo desde silverlight llamo a una function y le paso los parametros  para llenar tal combobox.
    Mi pregunta es posible hacer esto ya que no encuentro otra manera de completar ese combo sin que la pagina viaje al servidor.
    Lic. Blanc Cristian
    Tuesday, June 01, 2010 1:46 PM

All replies

  • Creo que para eso necesitarias llamar a un método de tu aplicación Silverlight desde JavaScript para pasarle los valores.  En este artículo expliqué cómo hacer eso: http://www.programandoamedianoche.com/2009/01/llamar-a-funciones-javascript-desde-silverlight-y-a-silverlight-desde-javascript/.
    Suerte!


    Para el correcto funcionamiento y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido útil por favor Vótala.

    Gustavo A. Cantero
    Scientia® Soluciones Informáticas
    MCP - MCSD - MCTS - MCPD
    http://www.scientia.com.ar
    http://www.programandoamedianoche.com
    http://foro.scientia.com.ar
    Tuesday, June 01, 2010 2:04 PM
  • Hola Nahasa.

    Exactamente no veo claro que deseas hacer, si creo haber entendido bien, tan solo tienes que crearte una funcion javascript como esta para insertar elementos en un DropDownList (que no es un combo, ya que en asp.net no hay combo).

      <script type="text/javascript">
        function FillCombo() 
        {
          var combo = document.getElementById("Dropdownlist1");
          var option = document.createElement('option');
          // añadir el elemento option y sus valores
          combo.options.add(option, 0);
          combo.options[0].value = "valor";
          combo.options[0].innerText = "Texto";
        }
      </script>

    Luego desde silverlight con el link que te ha puesto Gustavo, puedes llamar a esta funcion para insertar elementos.

     


    Saludos
    David González
    Wednesday, June 02, 2010 10:01 AM
  • gracias a ambos por responder.
    Gustavo ya habia estado anteriormnte por tu pagina gracias.
    David el tema es que estoy trabajando sobre una pagina ya hecha la cual contiene un control silverlight el cual se comunica con un servicio WCF y muestran cierta info de clientes y han querido poner un combobox (que por cierto utilizan combobox de la empresa Telerik para Asp.net) que reciba los clientes completos. Para visualizarlos en la pagina lo que pasa es que el entorno del control silverlight es tan pequeño dentro de la pagina que si yo pongo el combobox dentro de silverlight como quise en un principio, al desplegar el combo si contiene muchos clientes este se corta y queda esteticamente muy feo es por eso la razon de mi pregunta, voy a ver si el codigo que me pasaste me pude ayudar pero creo que ya he intentado algo asi y no me funciono porque como aclaras eso es para un dropdownlist. Muchas gracias


    Lic. Blanc Cristian
    Wednesday, June 02, 2010 4:31 PM
  • Hola Nahasa.

    ¿la aplicacion silverlight solo muestra los clientes?

    El contenedor de silverlight, lo puedes poner del alto que quieras en la pagina web.

    Por otra parte, si la aplicacion silverligth muestra un combo ¿por que no se limita las dimensiones y que se muestre la scrollbar?


    Saludos
    David González
    Thursday, June 03, 2010 6:47 AM
  • Hola David. si ya habia pensado en eso pero si yo le doy un mayor alto al contenedor silverlight se produce un espacio vacio, para qu te des una idea el contenedor silverlight tiene el tamaño de un banner donde va actualizando datos de clientes, es de solo informacion, asi que agrandar el contenedor no puedo. En cuanto al combo, si le puedo dar un tamaño y que se maneje con un scrollbar, pero hay usuarios que tienen alrededor de 200 clientes imaginate eso en un tamaño de un banner que es apenas el doble de una barra de tarea. Es medio complicado es trabajar sober algo que ya esta hecho y queria ver si podia tener salida por otro lado por eso pense en un combo afuera del ambiente silverlight.
    Lic. Blanc Cristian
    Thursday, June 03, 2010 7:55 PM
  • Hola Nahasa.

    Te doy otras opciones para que las evalues:

    1.- si el control silverlight solo es para rellenar un combo llamando a un servicio WCF, esto lo puedes hacer directamente desde javascript sin tener que usar silverlight, WCF se puede enlzar desde casi cualquier tecnologia. Esta pagina explica como hacerlo:

    http://dotnetbyexample.blogspot.com/2008/02/calling-wcf-service-from-javascript.html

     

    2.- En tu pagina asp.net puedes poner el control asp que quieras, no tienes por que usar el de telerik, puedes hacer uso de un dropDown, incluso un Select (que es lo que al final sera renderizado en ambos casos). Puedes ver el codigo fuente de la pagina y ver el tipo de control HTML que es renderizado por el combo de Telerik, en caso de ser un 'Select' (que es lo mas seguro), puedes rellenarlo mediante javascript con el codigo que te puse ya que al final, la pagina en el cliente siempre es codigo HTML, javascript y CSS (no hay mas).

     


    Saludos
    David González
    Friday, June 04, 2010 6:34 AM
  • Hola David gracias por el enlace, esta bueno, voy a ver que es lo mejor que pudo aplicar, es interesante lo que me decis en el punto numero dos, voy a revisar todo, Gracias.
    Lic. Blanc Cristian
    Monday, June 07, 2010 6:44 PM