Description:
In this example
we explain that how to create Auto Complete TextBox in Dynamic CRM.or how to
use Auto Complete in Dynamic CRM.or how to implement Auto Complete
functionality in Dynamic CRM using XRM and JavaScript. Or Autocomplete in Dynamic
365 controls. Or Web API Autocomplete in Dynamic CRM.
Here we demonstrate
that how to Auto Complete All the Accounts of the CRM in Lead Form Company Name
so user can just type one character and easily select that already created Account
through Auto Complete list.
To achieve Auto
Complete just call the below function in Form Load of the Lead Entity in CRM.
Code :
function
GetAllAccount() {
var
accounts = [];
//alert(AccountId);
var
serverUrl = Xrm.Page.context.getClientUrl();
var
odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc"
+ "/" + "AccountSet";
//alert(odataSelect);
$.ajax(
{
type: "GET",
async: false,
contentType: "application/json;
charset=utf-8",
datatype: "json",
url: odataSelect,
beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function
(data, textStatus, XmlHttpRequest) {
if
(data.d.results != null &&
data.d.results.length > 0) {
for
(var i = 0; i < data.d.results.length; i++)
{
accounts.push({ AccountId:
data.d.results[i].AccountId, Name: data.d.results[i].Name })
}
}
},
error: function
(XmlHttpRequest, textStatus, errorThrown) { }
});
var
keyPressFcn = function (ext) {
try
{
debugger;
var
userInput = Xrm.Page.getControl("companyname").getValue();
resultSet = {
results: new Array(),
commands: {
id: "sp_commands",
label: "Learn More",
action: function () {
// Specify what you want to do when the user
//
clicks the "Learn More" link at the bottom
// of the auto-completion list.
// For this sample, we are just opening a page
// that provides information on working with
// accounts in CRM.
window.open("http://www.microsoft.com/en-us/dynamics/crm-customer-center/create-or-edit-an-account.aspx");
}
}
};
var
userInputLowerCase = userInput.toLowerCase();
for
(i = 0; i < accounts.length; i++) {
if
(userInputLowerCase === accounts[i].Name.substring(0,
userInputLowerCase.length).toLowerCase()) {
resultSet.results.push({
id: i,
fields:
[accounts[i].Name]
});
}
if
(resultSet.results.length >= 10) break;
}
if
(resultSet.results.length > 0) {
ext.getEventSource().showAutoComplete(resultSet);
} else
{
ext.getEventSource().hideAutoComplete();
}
Xrm.Page.data.entity.save();
} catch
(e) {
//
Handle any exceptions. In the sample code,
//
we are just displaying the exception, if any.
console.log(e);
}
};
Xrm.Page.getControl("companyname").addOnKeyPress(keyPressFcn);
}
0 comments:
Post a Comment