在MSCRM中, 視圖的查找功能默認是匹配首字符串的. 比如. 你在查找框中輸入ABC.那么當你點擊查找時. 得到的結果都是以ACD開頭的所有記錄. 只有當你輸入*ABC得到的結果才是包含ABC的所有記錄.
?
如何能讓MSCRM視圖查找功能默認實現模糊查找呢? 在這里提供一種偷梁換柱的方法.
?
方法很簡單, 更改視圖所在的頁面, 在onload事件中編寫代碼, 將原有的查找框隱藏, 用一新的查找框代替. 當點擊查找按鈕時, 先將替換后查找框的值前面加*號賦給原有的查找框, 然后再執行查找事件. 具體代碼如下:
?
默認試圖中實現模糊查找:
--------------------------------------------------------------------------------------
將下面的代碼寫入\CRMWeb\_root\homepage.aspx頁面中. 并在該頁面的onload 事件中調用FindCriteria 方法
function FindCriteria(){
??? var criteriaObj = document.getElementById("findCriteria");
??? var clearCBObj = document.getElementById("clearCriteriaButton");
??? var criteriaObj2 = criteriaObj.cloneNode(true);
??? criteriaObj2.onchange = function(){
??????? criteriaObj.value = "*"+criteriaObj2.value;
??????? if(criteriaObj.value == "*"){criteriaObj.value = "";}
??? }
??? criteriaObj2.id = "findCriteria2";
??? criteriaObj.parentElement.appendChild(criteriaObj2);
??? criteriaObj.style.display = "none";
??? clearCBObj.onclick = function(){
??????? criteriaObj2.value = "";
??????? try{
??????????? this.parentElement.parentElement.ClearQuickFind();
??????? }catch(e){};
??? }
??? criteriaObj2.onkeydown = function(){
??????? if(event.keyCode==13){
??????????? criteriaObj.value = "*"+criteriaObj2.value;
??????????? if(criteriaObj.value == "*"){criteriaObj.value = "";}
??????? }
??? }
}
?
Lookup中實現模糊查找:
--------------------------------------------------------------------------------------
將下面的代碼寫入\CRMWeb\_controls\lookup\lookupsingle.aspx頁面中. 并在該頁面的onload 事件中調用FindCriteria 方法
function FindCriteria(){
??? var criteriaObj = document.getElementById("findValue");
??? var criteriaObj2 = criteriaObj.cloneNode(true);
??? criteriaObj2.onchange = function(){
??????? criteriaObj.value = "*"+criteriaObj2.value;
??????? if(criteriaObj.value == "*"){criteriaObj.value = "";}
??? }
??? criteriaObj2.id = "findCriteria2";
??? criteriaObj.parentElement.appendChild(criteriaObj2);
??? criteriaObj.style.position = "absolute";
??? criteriaObj.style.zIndex = "1000";
??? criteriaObj.style.left = "-1000px";
??? criteriaObj.style.top = "-1000px";
??? criteriaObj2.onkeydown = function(){
??????? if(event.keyCode==13){
??????????? criteriaObj.value = "*"+criteriaObj2.value;
??????????? if(criteriaObj.value == "*"){criteriaObj.value = "";}
??????????? document.getElementById("btnGo").click();
??????? }
??? }
}
?
當然這種方法屬于微軟unsupport的方法, 如果客戶并不是特別在意這個功能, 本人也并不推薦使用該方法.
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
