none
llenar pickList Dinamicamente con datos de un subGrid RRS feed

  • Pregunta

  • buenas. necesito llenar un picklist con los datos de una de las colunmas de un subgrid.

    esto es lo que tengo, pero de esta manera me llena el picklist con datos indefinidos...

     

    function ObtenerRegistros()
    {
    var gridControl = document.getElementById('LineaRequisitos').control;
    var ids = gridControl.get_allRecordIds(); //obtengo los registros del grid

    var picklistTwoName = "psi_obtenerrequisito"; // asigno el picklist que ya esta creado a una variable

    var picklistTwo = Xrm.Page.getControl(picklistTwoName);
    var picklistTwoAttribute = picklistTwo.getAttribute();

    for(i = 0; i < ids.length; i++) //obtengo los datos de la colunma del subgrid (si funciona)
    {
    var cellValue = gridControl.getCellValue("psi_requisitoid", ids[i]); // psi_requisitoid es el nombre del campo que llena la columna en el grid
    picklistTwo.clearOptions(); //limpio las opciones que tenga el picklist
    picklistTwo.addOption(ids[i]); // ???? no funciona
    }

    }

    si alguien me puediera ayudar... gracias


    • Editado Alizanoc miércoles, 21 de diciembre de 2011 0:07
    martes, 20 de diciembre de 2011 23:07

Respuestas

  • ya resolvi el problema.... la solucion quedaría de la siguiente manera:

    function ObtenerRegistros()
    {  
     var gridControl = document.getElementById('LineaRequisitos').control;
     var ids = gridControl.get_allRecordIds(); // se obtiene los registros

      var MyPicklist = "psi_obtenerrequisito"; // nombre del pickList previamente creado en el fomulario
     
      var picklistDinamico = Xrm.Page.getControl(MyPicklist);

       for(i = 0; i < ids.length; i++) // bucle que recorre el grid para obtener los registros
       {             
       var cellValue = gridControl.getCellValue("psi_requisitoid", ids[i]); // psi_requisitoid es el nombre del campo que alimenta la colunma del grid
         // alert(cellValue);                                           

        var size = i + 100000000;  // se crea el value de la opcion del picklist, el 100000000 es el numero que se genera por defecto
        //  alert(size); 
        
       var option = new Option();
           option.text =cellValue;
           option.value= size; 
         
       picklistDinamico .addOption(option); // debe recibir dos parametros, el texto y el value.  
       }
    }
     
     


    • Marcado como respuesta Alizanoc martes, 20 de diciembre de 2011 23:09
    • Editado Alizanoc miércoles, 21 de diciembre de 2011 0:46
    martes, 20 de diciembre de 2011 23:08