AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.08.2010, 22:06   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
Все о Microsoft Dynamics CRM: Выбор всех значений из picklist
Источник: http://ms-dynamics-crm.com.ua/2010/0...from-picklist/
==============

Наверняка вы уже знакомы с решением от Jim Wang для выбора нескольких значений из picklist MS CRM, а стиль самого picklist был изменен с добавлением чекбоксов.



Отличное решение, но, иногда, возникает необходимость выбирать все элементы из списка и если значений много, то будет неудобно выбирать каждое по отдельности. Поэтому вот небольшой javascript сниппет, который позволяет решить данную задачу.

1. Необходимо добавить новое значение Select all в ваш picklist

2. В событие OnSave() вставляем следующий код:

var PL = crmForm.all.new_fundingsource;var PLV = crmForm.all.new_fundingsourcevalue; if(PLV.value != "") { var PLVT = PLV.value.split("||"); for( var i = 0; i < PLVT.length; i++ ) { if( PLVT[i] == "Select All") { PLV.value = ""; for( var i = 1; i < PL.options.length; i++ ) { PLV.value += PL.options[i].text+ "||"; } } } }Все. Теперь достаточно выбрать пункт Select all и нажать сохранить, после чего будут выбраны все значения данного picklist

Код для создания multi picklist (чтобы не забыть):

var PL = crmForm.all.new_fundingsource;var PLV = crmForm.all.new_fundingsourcevalue;if( PL != null && PLV != null ){ PL.style.display = "none"; PLV.style.display = "none"; // Create a DIV container var addDiv = document.createElement("<div style='overflow-y:auto; height:80px; border:1px #6699cc solid; background-color:#ffffff;' />"); PL.parentNode.appendChild(addDiv); // Initialise checkbox controls for( var i = 1; i < PL.options.length; i++ ) { var pOption = PL.options[i]; if( !IsChecked( pOption.text ) ) var addInput = document.createElement("" ); else var addInput = document.createElement("" ); var addLabel = document.createElement( ""); addLabel.innerText = pOption.text; var addBr = document.createElement( "
"); //it's a 'br' flag PL.nextSibling.appendChild(addInput); PL.nextSibling.appendChild(addLabel); PL.nextSibling.appendChild(addBr); } // Check if it is selected function IsChecked( pText ) { if(PLV.value != "") { var PLVT = PLV.value.split("||"); for( var i = 0; i < PLVT.length; i++ ) { if( PLVT[i] == pText ) return true; } } return false; } // Save the selected text, this filed can also be used in Advanced Find crmForm.attachEvent( "onsave" , OnSave);//debugger function OnSave() { PLV.value = ""; var getInput = PL.nextSibling.getElementsByTagName("input"); for( var i = 0; i < getInput.length; i++ ) { if( getInput[i].checked) { PLV.value += getInput[i].nextSibling.innerText + "||"; } } }}

Источник: http://ms-dynamics-crm.com.ua/2010/0...from-picklist/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! CRM 4.0 Disaster Recovery Blog bot Dynamics CRM: Blogs 2 26.02.2016 08:23
Мир CRM: Академия для партнёров по Microsoft Dynamics CRM Blog bot Dynamics CRM: Blogs 0 02.02.2009 01:05
Microsoft Dynamics CRM Team Blog: The First ' Microsoft Dynamics CRM Incubation Week' Blog bot Dynamics CRM: Blogs 0 07.01.2009 03:05
Microsoft Dynamics CRM Team Blog: Highlight: Available downloads for Microsoft Dynamics CRM Blog bot Dynamics CRM: Blogs 0 05.11.2008 22:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:32.