- En este ejemplo vamos a generar una lista de múltiple selección para un campo denominado 'Productos de interés' en la entidad Account
- El despliegue incluye los siguientes componentes
- Un campo option set para dinamizar los valores incluidos en la lista
- Un web resource js para desplegar el listbox en el formulario
- Un campo multilínea para almacenar las opciones marcadas en valores separados por coma
- Un web resource js para desplegar el listbox en el formulario
- Un campo multilínea para almacenar las opciones marcadas en valores separados por coma
- El código en el evento onLoad del formulario para desplegar la lista es el siguiente:
function displayList(optionSet) { var allProducts = optionSet.getOptions(); var tdProducts = document.getElementById('new_productosinteres_d'); tdProducts.innerHTML = ""; listProducts = "<div style='overflow-y:auto; height:200px;'>"; listProducts += "<table>"; for (var i = 1; i < allProducts.length; i++) { listProducts += "<tr><td width='20px'>"; listProducts += "<input width='20px' + onclick='addProduct(this)' id='product_" + i + "' type='checkbox' value='" + allProducts[i].text + "'>"; listProducts += "</td><td>"; listProducts += "<label for='product_" + i + "'>" + allProducts[i].text + "</label>"; listProducts += "</td></tr>"; } listProducts += "</table></div>"; tdProducts.innerHTML += listProducts; }
- Y el código de control para completar el campo multilínea a continuación:
function addProduct(item) { var selectedProducts = Xrm.Page.getAttribute("new_productosinteres").getValue(); if (item.checked) { Xrm.Page.getAttribute("new_productosinteres").setValue(selectedProducts + "," + item.value); } else { selectedProducts = selectedProducts.replace("," + item.value, ""); Xrm.Page.getAttribute("new_productosinteres").setValue(selectedProducts); } }
El resultado es el siguiente
Desde Innovar Tecnologías esperamos que este documento les sea de ayuda en su desarrollo
No hay comentarios:
Publicar un comentario