Xrm.Page.data
獲取記錄的主鍵Id的值(getId)
var Id = Xrm.Page.data.entity.getId();
獲取記錄的表的邏輯名稱(getEntityName)
var entityName = Xrm.Page.data.entity.getEntityName();
獲取引用記錄的查詢值(getEntityReference)
var erEntity = Xrm.Page.data.entity.getEntityReference();
//string。表記錄的邏輯名稱。例如,“account”。
var entityType = erEntity.entityType;
//string。表記錄的 GUID 值。
var Id = erEntity.id;
//(可選)string。表記錄的名稱。
var name = erEntity.name;
指示窗體中的任何列是否已被修改(getIsDirty)
// isDirty : Boolean; 如果表單中的任何列已更改,則為 true;否則為 false。
var isDirty = Xrm.Page.data.entity.getIsDirty();
立即呼叫窗體儲存(save)
Xrm.Page.data.entity.save();
新增在觸發 OnSave事件時要呼叫的函式(addOnSave)
//functionName:繫結的方法名
Xrm.Page.data.entity.addOnSave(functionName);
Xrm.Page.ui
//0:未定義的;1:新建;2:更新;3:只讀;4:禁用;6:批次編輯
var type = Xrm.Page.ui.getFormType();
//message:string,必填,訊息的文字
//level:string,必填,訊息的級別:ERROR,WARNING,INFO
//uniqueId:string,必填,訊息的唯一識別符號,稍後可與 clearFormNotification 一起使用以刪除通知。
Xrm.Page.ui.setFormNotification(message, level, uniqueId);
//uniqueId:使用 setFormNotification 方法設定的要清除的訊息的唯一識別符號。
Xrm.Page.ui.clearFormNotification(uniqueId);
關閉窗體(close)
Xrm.Page.ui.close();
Xrm.Page.getAttribute
獲取欄位的值(getValue)
//attributeName:欄位邏輯名
var attributeValue = Xrm.Page.getAttribute("attributeName").getValue();
設定欄位的值(setValue)
//attributeName:欄位邏輯名
//attributeValue:設定欄位的值
Xrm.Page.getAttribute("attributeName").setValue(attributeValue);
//設定查詢型別的值
var lookupObject = {};
lookupObject.id = attribute.guid;
lookupObject.entityType = attribute.logicalName;
lookupObject.name = attribute.name;
var attributeValue = [];
attributeValue[0] = lookupObject;
Xrm.Page.getAttribute("attributeName").setValue(attributeValue);
獲取欄位的必填性(setRequiredLevel)
//attributeName:欄位邏輯名
//選填:none;必填:required;業務推薦填寫:recommended;
var attributeRequiredLevel = Xrm.Page.getAttribute("attributeName").getRequiredLevel();
設定欄位的必填性(setRequiredLevel)
//attributeName:欄位邏輯名
//requirementLevel:必填性;選填:none;必填:required;業務推薦填寫:recommended;
Xrm.Page.getAttribute("attributeName").setRequiredLevel(requirementLevel);
獲取欄位的提交模式(setSubmitMode)
//attributeName:欄位邏輯名
//always:資料始終與儲存一起傳送;
//never:資料從不與儲存一起傳送。使用此值時,無法編輯此列的窗體中的列;
//dirty:預設行為。當資料發生更改時,資料將與儲存一起傳送;
var attributeSubmitMode = Xrm.Page.getAttribute("attributeName").getSubmitMode();
設定欄位的提交模式(setSubmitMode)
//attributeName:欄位邏輯名
//mode:提交模式,string;
//always:資料始終與儲存一起傳送;
//never:資料從不與儲存一起傳送。使用此值時,無法編輯此列的窗體中的列;
//dirty:預設行為。當資料發生更改時,資料將與儲存一起傳送;
Xrm.Page.getAttribute("attributeName").setSubmitMode("mode");
設定欄位OnChange事件(addOnChange)
//attributeName:欄位邏輯名
//functionName:繫結的方法名
Xrm.Page.getAttribute("attributeName").addOnChange(functionName);
移除欄位OnChange事件(removeOnChange )
//attributeName:欄位邏輯名
//functionName:移除的方法名
Xrm.Page.getAttribute("attributeName").removeOnChange(functionName);
獲取欄位的邏輯名稱(getName)
//attributeName:欄位邏輯名
var attributeLogicalName = Xrm.Page.getAttribute("attributeName").getName();
獲取欄位的選項集物件陣列(getOptions)
//attributeName:欄位邏輯名
var options = Xrm.Page.getAttribute("attributeName").getOptions();
獲取當前選定選項的文字(getText)
//attributeName:欄位邏輯名
var optionText = Xrm.Page.getAttribute("attributeName").getText();
獲取欄位是否已修改未儲存(getIsDirty)
//attributeName:欄位邏輯名
var isDirty = Xrm.Page.getAttribute("attributeName").getIsDirty();
Xrm.Page.getControl
獲取欄位的標籤(getLabel)
//attributeName:欄位邏輯名
var attributeLabel = Xrm.Page.getControl("attributeName").getLabel();
設定欄位是否可見(setVisible)
//attributeName:欄位邏輯名
//bool: 可見:true;不可見:false;
Xrm.Page.getControl("attributeName").setVisible(bool);
設定欄位是否禁用(setDisabled)
//attributeName:欄位邏輯名
//bool: 禁用:true;可用:false;
Xrm.Page.getControl("attributeName").setDisabled(bool);
獲取欄位是否禁用(getDisabled)
//attributeName:欄位邏輯名
var attributeValue = Xrm.Page.getControl("attributeName").getDisabled();
新增選項集選項(addOption)
//attributeName:欄位邏輯名
//option:新增的選項
//index:放置新選項的索引位置。如果未提供,則該選項將新增到末尾。
var option = {};
option.text = "Test";
option.value = 1;
Xrm.Page.getControl("attributeName").addOption(option,index);
清空選項集選項(clearOptions)
//attributeName:欄位邏輯名
Xrm.Page.getControl("attributeName").clearOptions();
移除選項集選項(removeOption)
//attributeName:欄位邏輯名
//optionValue:選項集選項值
Xrm.Page.getControl("attributeName").removeOption(optionValue);
設定顯示欄位的錯誤訊息(setNotification)
//attributeName:欄位邏輯名
//message:要顯示的訊息
//uniqueId:使用 clearNotification 方法時用於清除此訊息的 ID
Xrm.Page.getControl("attributeName").setNotification(message,uniqueId);
清除欄位顯示的錯誤訊息(clearNotification)
//attributeName:欄位邏輯名
//uniqueId:使用 clearNotification 方法時用於清除此訊息的 ID
Xrm.Page.getControl("attributeName").clearNotification(uniqueId);
新增預搜尋(addPreSearch)
//attributeName:欄位邏輯名
//functionName:繫結的方法名
Xrm.Page.getControl("attributeName").addPreSearch(functionName);
新增自定義篩選器(addCustomFilter)
//attributeName:欄位邏輯名
//fetchXml:要應用的 fetchXml 篩選器元素
var fetch = "<filter type=\"and\">"+
"<condition attribute=\"address1_city\" operator=\"eq\" value=\"Redmond\" />"+
"</filter>"
Xrm.Page.getControl("attributeName").addCustomFilter(fetchXml);
新增自定義檢視(addCustomView)
//attributeName:欄位邏輯名
//viewId:字串,檢視的 GUID 的字串表示形式
//entityName:字串,實體邏輯名稱
//viewDisplayName:字串,檢視的名稱
//viewDisplayName:字串,檢視的名稱
//fetchXml:字串,檢視的 fetchXml 查詢。
//layoutXml:字串,定義檢視佈局的 XML。
//isDefault:布林值,指示檢視是否應為預設檢視。
// 指定檢視的GUID(任意)
var viewId = "00000000-0000-0000-0000-00000000000001";
// 查詢實體的邏輯名稱
var entityName = "account";
// 指定檢視的名稱
var viewDisplayName = "可用的客戶檢視";
// 檢視的fetchXml查詢
var fetchXml = ["<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
"<entity name='account'>" +
"<attribute name='name' />" +
"<attribute name='accountid' />" +
"<attribute name='createdon' />" +
"<order attribute='name' descending='false' />" +
"<filter type='and'>" +
"<condition attribute='statecode' operator='eq' value='0' />" +
"</filter>" +
"</entity>" +
"</fetch>"];
// 指定檢視佈局XML
var layoutXml = ["<grid name='resultset' object='1' jump='name' select='1' icon='0' preview='1'>",
"<row name='result' id='accountid'>",
"<cell name='name' width='100'/>",
"<cell name='createdon' width='100'/>",
"</row>",
"</grid>"];
// 是否設定為預設檢視
var isDefault = true;
Xrm.Page.getControl("attributeName").addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, isDefault);