轉控件:controls.get(0)html
取賦值:getValue(),setValue()web
是否改動:getIsDirty()ajax
表單載入時的值:getInitialValue()[Boolean, optionset]瀏覽器
提交類型:getSubmitMode(),setSubmitMode()//always,never,ditry緩存
必填等級:getRequiredLevel(),setRequiredLevel()//required、none服務器
用戶操做等級:getUserPrivilege()//canCreate()、canRead()、canUpdate()ide
事件:addOnChange(),removeOnChange(),fireOnChange()[強制執行]函數
其餘:getAttributeType(),getFormat(),getIsValid(),getMax(),getMaxLength(),getMin(),getName(),getParent(),getPrecision()性能
選項集:getOption(),getOptions(),getSelectedOption(),getText()fetch
轉屬性:getAttribute()
提醒:addNotification(notification),clearNotification(uniqueId),clearNotifications(),setNotification(message,uniqueId)
禁用/啓用:setDisabled(true),setDisabled(false),getDisabled()
顯示/隱藏:setVisible(true),setVisible(false),getVisible()
描述:setLabel(),getLabel()
選中:setFocus
刷新:refresh()//僅限SubGrid
其餘:addCustomFilter(),addCustomView(),addOption(),removeOption(value),clearOptions(),getControlType(),getData(),setData(),
getDefaultView(),setDefaultView(),getName(),getParent(),getSrc(),setSrc(),getInitialUrl(),getObject(),addOnKeyPress(),removeOnKeyPress(),fireOnKeyPress()
hideAutoComplete(),showAutoComplete(),
查找:addCustomFilter (fetchXmlFilter, entityType),
addCustomView (viewId, entityLogicalName, viewDisplayName, fetchXml, layoutXml, isDefault)
子網格:網格(只讀)對象和方法(客戶端引用) 可編輯網格對象和方法(客戶端引用)
Control:getGrid(),addOnLoad(),removeOnLoad(),addRecord(),getRelationship(),getRelationshipAttributeName(),getRelationshipName(),
getViewSelector().setCurrentView(), Grid:getGrid().getSelectedRows(),getRows(),addOnRecordSelect(),fireOnRecordSelect(),removeOnRecordSelect(),getTotalRecordCount(),showLoadingMessage()
Rows:getGrid().getSelectedRows().get(),getAll(),getByFilter(),getByIndex(),getByName(),getFirst(),getLength(),add(),forEach(),remove()
Row: getGrid().getSelectedRows().get(0).data.entity.attributes/relatedEntities
執行上下文:obj.getFormContext().data.entity
用戶ID:getUserId()
用戶角色:getUserRoles()
用戶語言:getUserLcid()
組織名稱:getOrgUniqueName()
組織語言:getOrgLcid()
路徑參數:getQueryStringParameters()
服務器路徑: getClientUrl()
前追加組織名稱:prependOrgName("/WebResource/**")效果:crmtest/WebResource/**
當前主題:getCurrentTheme()
客戶端信息:client
OutLook:isOutlookClient()/isOutlookOnline()
頁面流程:process(process=>State=>Step)
事件:abandonProcess(),addOnProcessStatusChange(),addOnStageChange(),addOnStageSelected(),
completeProcess(),getSelectedStage(),getStatus(),moveNext(),movePrevious(),setStatus(),switchProcess()…
獲取Step:getActiveStage().getSteps().getByIndex(0)
事件:addOnLoad(),removeOnLoad(),blockAutoSave(),getIsDirty(),setFormDirty(),refresh(),save()
全部頁面元素:attributes【forEach(),get(),getLength(),getByIndex(),getByName()…】
實體名稱:getEntityName(),getEntitySetName()
實體ID:getId(),getKey(),getEntityReference()
主字段值:getPrimaryAttributeValue()
是否修改:getIsDirty()
保存事件:save( null | "saveandclose" |"saveandnew" )
添加保存時事件:addOnSave()
移出保存時事件:removeOnSave()
是否Hierarchy:isInHierarchy()
事件:clearFormNotification(uniqueid),close(),getControls(),getCurrentControl(),getFormType(),getTabs(),refreshRibbon(),
標題:get_formTitle(),set_formTitle()
窗體提示框:setFormHtmlNotification(htmlText, notificationLevel, uniqueId)
setFormNotification(message, notificationLevel, uniqueId)
頁面全部控件:controls【forEach(),get(),getAll(),getByFilter(),getByIndex(),getByName(),getLength()】
單個控件:controls.get("")【同Xrm.Page.getControl()】
頁面Tab:tabs【forEach(),get(),getLength()】
單個Tab:tabs.get()【sections,getDisplayState(),getLabel(),getName(),getParent(),getVisible(),setDisplayState(),setFocus(),setLabel(),setVisible()】
Tab-Sections:tabs.get(0).sections【forEach(),get(),getLength()】
單個Section:tabs.get(0).sections.get(0)【getLabel(),getName(),getParent(),getVisible(),setLabel(),setVisible(),controls】
頁面導航:navigation.items【forEach(),get(),getByFilter(),getByIndex(),getByName(),getLength()】
單個導航:navigation.items.get()【getId(),getLabel(),getVisible(),setFocus()-導航跳躍,setLabel(),setVisible()】
獲取導航:1.經過getLabel()遍歷;2.經過ID:.get("navContacts")
例:隱藏活動:Xrm.Page.ui.navigation.items.get("navActivities").setVisible(false)
document.getElementById(「navActivites」)
窗體:formSelector.items【forEach(),get(),getByFilter(),getByIndex(),getByName(),getLenght()】
單個窗體:formSelector.items.get()【getId(),getLabel(),navigate()-窗體跳躍】
var formItem = Xrm.Page.ui.formSelector.getCurrentItem();
Xrm.Utility(客戶端引用)
彈出框:Xrm.Utility.alertDialog(message,onCloseCallback)
確認框:Xrm.Utility.confirmDialog(message,yesCloseCallback,noCloseCallback)
打開新的或現有實體記錄:Xrm.Utility.openEntityForm(name,id,parameters,windowOptions)
打開快速建立窗體:Xrm.Utility.openQuickCreate(entityLogicalName,createFromEntity,parameters).then(successCallback, errorCallback);
打開HTML Web資源:Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)
是否活動實體:Xrm.Utility.isActivityType(entityName)
使用移動設備攝像頭掃描條形碼:Xrm.Utility.getBarcodeValue().then(successCallback, errorCallback)
返回設備當前地理位置:Xrm.Utility.getCurrentPosition().then(successCallback, errorCallback)
隱藏函數
返回記錄WebApi請求路徑:Xrm.Utility.getEntityUrl(entityName, entityId)
刪除數據:Xrm.Utility.deleteRecord(entityName, entityId)
建立數據:Xrm.Utility.create(entityLogicalName, parent, relationship, parameters, successCallback, failureCallback)
檢索數據:Xrm.Utility.retrieveEntityRecord(entityReference, columnNames, successCallback, actionFailedCallback)
檢索集合:Xrm.Utility.retrieveEntityCollection(keyQuery, successCallback, actionFailedCallback)
彈出框:Xrm.Utility.openDialog (url, dialogOptions, dialogArguments, initFunctionName, returnFunction)
打開記錄:Xrm.Utility.openRecord(entityName, entityId, parameters)
展現Hierarchy:Xrm.Utility.showHierarchyPage(entityTypeName, entityId)
避免包含沒必要要的 JavaScript Web 資源庫
向窗體中添加的腳本越多,用於下載腳本的時間也會越多。 一般,腳本首次下載後會緩存在瀏覽器中,但首次查看窗體時的性能一般會造成重要的印象。
對於特定示例,由於您要使用 XMLHttpRequest,所以不要在窗體腳本中包括 jQuery。 當 jQuery 提供不少人很熟悉的 $.ajax 函數來執行這些請求時,它是開發人員的首選項,不是必選項。 可使用 Microsoft Dynamics 365 支持的全部瀏覽器中的本機 XMLHttpRequest 對象來執行這些請求。詳細信息:jQuery 的使用
避免在 Onload 事件中加載全部腳本
若是您有僅支持字段的 OnSave 事件或 OnChange 事件的代碼,請確保使用事件處理程序爲這些事件(而不是 OnLoad 事件)設置腳本庫。 這樣能夠推遲加載這些庫,從而提升窗體加載時的性能。
爲方便起見,不建議使用 OnLoad 事件處理程序中的 addOnChange 方法。 雖然此方法可減小添加事件處理程序所需的步驟數,但它將致使窗體加載速度更慢。
使用摺疊選項卡來推遲加載 Web 資源
當摺疊的選項卡中的分區中包括了 Web 資源或 IFRAME 時,在選項卡摺疊的狀況下不會加載它們。 它們會在選項卡展開時加載。 當選項卡狀態發生變化時,會發生 TabStateChange 事件。 支持摺疊的選項卡中的 Web 資源或 IFRAME 所需的任何代碼均可以使用 TabStateChange 事件的事件處理程序,從而減小原本必須在 OnLoad 事件中發生的代碼。
設置默承認見性選項
避免在隱藏窗體元素的 OnLoad 事件中使用窗體腳本。 請爲可能隱藏的窗體元素設置默承認見性選項,以便在加載窗體時使其默認不可見。 而後,在 OnLoad 事件中使用腳原本顯示您但願顯示的窗體元素。