2017-02-17 12 views
0

Я нашел ответ, чтобы показать все значения в поле поиска для on-home, изменив значение в db - однако это веб-версия и не имеет доступа к дБ.Показать все значения в поле поиска - Dynamics CRM 2015 Web

Могу ли я сделать это на javascript? Если да, может кто-нибудь указать мне ссылку? Я не могу найти то, что искал в Интернете.

I.e. У меня есть 12 значений поиска, но отображается только 10 без необходимости выбирать «искать больше записей». Я хочу подавать, чтобы показать все 12.

Спасибо.

+0

Какую ценность (таблица и поле) вы изменили в db, чтобы сделать эту работу? – Nicknow

ответ

1

Я не знал, что это конфигурируемый вариант в CRM на месте, но даже в этом случае невозможно изменить Dynamics CRM (365) в Интернете. Одним из ограничений онлайн-систем является то, что у вас нет доступа к базе данных, реестру, web.config и т. Д.

Что вы можете сделать (для некоторых поисков) заменить их на веб-ресурс, который эмулирует поведение поиска. Это довольно просто, используя, например, select2.

Он может напрямую звонить службе REST и динамически заполняться в зависимости от того, что пользователь вводит.

пример о том, как использовать его со службой REST бы это:

var baseUrl = Xrm.Page.context.getClientUrl() + "/xrmservices/2011/OrganizationData.svc/"; 

var crmLookupType = "Account" 
var crmLookupSearchField = "Name" 
var crmLookupIdField = "AccountId" 
var url = baseUrl + crmLookupType + "Set"; 

$(#mySelect).select2({ 
    ajax: { 
     url: url, 
     dataType: 'json', 
     data: function (term, page, context) { 
      return { 
       "$select": crmLookupIdField + "," + crmLookupSearchField, 
       "$filter": "startswith(" + crmLookupSearchField + ",'" + term.term + "')" 
      }; 
     }, 
     delay: 250, 
     cache: false, 
     processResults: function (data) { 
      if (data.d.results && data.d && data.d.results) {    
       return { 
        results: $.map(data.d.results, function (item) { 
         return { 
          text: item[crmLookupSearchField], 
          id: item[crmLookupIdField] 
         }; 
        }) 
       }; 
      } 
      else { 
       return []; 
      } 
     } 
    }, 
    minimumInputLength: 2 
}).on("select2:selecting", function (e) { 
    $(e.currentTarget).children().remove(); 
}); 

Затем, когда выбран элемент вы можете заполнить поле оригинальный подстановок (который вы скрыть от формы) с выбранный идентификатор.

+0

Отлично! Мы реализуем это и дадим вам знать, как это происходит. Примите ответ, когда мы сможем заставить его работать. Еще раз спасибо! Кроме того, я предполагаю, что мне нужно будет использовать комплект REST? –

+1

№. Библиотека select2 заботится о других вызовах внутри. Я считаю, что это зависит от jQuery. – kowgli

+0

Работал как шарм! –

Смежные вопросы