65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 JavaScript 启用或禁用 Dynamics CRM 2011 Ribbon 控制

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013年2月27日

CPOL
viewsIcon

29502

如何使用 JavaScript 启用或禁用 Ribbon 控制。

引言

在 Dynamics CRM 2011 中,要启用或禁用 Ribbon 控制,我们需要更新实体的 RibbonXml 标签。 在此技巧中,我将向您展示如何使用 JavaScript 启用或禁用 Ribbon 控制。

背景

每个 Ribbon 控制在 Dynamics CRM 2011 中都有一个唯一的 ID。 例如,对于联系人实体,保存按钮的 ID 是 'contact|NoRelationship|Form|Mscrm.Form.contact.Save-Large'。 您会注意到,按钮 ID 由 'EntityName|NoRelationship|Form|Mscrm.Form.EntityName.ButtonDisplayNameandSize' 组成。 保存和“保存并关闭”按钮的大小为 large,而“保存并新建”和删除按钮的大小为 Medium。 因此,对于“保存并新建”按钮,ID 将是 'contact|NoRelationship|Form|Mscrm.Form.contact.SaveAndNew-Medium'

Using the Code

以下是用于启用或禁用按钮的 JavaScript 函数

//
function HideRibbonControl(formName) {
    
   var saveButtonID = formName + "|NoRelationship|Form|Mscrm.Form." + formName + ".Save-Large";
    var saveandcloseButtonID = formName + "|NoRelationship|Form|Mscrm.Form." + formName + ".SaveAndClose-Large";
    var saveandnewButtonID = formName + "|NoRelationship|Form|Mscrm.Form." + formName + ".SaveandNew-Medium";
    var deactivateButtonID = formName + "|NoRelationship|Form|Mscrm.Form." + formName + ".Deactivate-Medium";
    var deleteButtonID = formName + "|NoRelationship|Form|Mscrm.Form." + formName + ".Delete-Medium";
    HideARibbonButton(saveButtonID);
    HideARibbonButton(saveandcloseButtonID);
    HideARibbonButton(saveandnewButtonID);
    HideARibbonButton(deactivateButtonID);
    HideARibbonButton(deleteButtonID);
}
 
function HideARibbonButton(nameOfButton) {
   var btn = window.top.document.getElementById(nameOfButton);
    var intervalId = window.setInterval(function () {
      if (btn != null) {
        window.clearInterval(intervalId);
        btn.disabled = true;
       }
 
    }, 50);
}
//

注意事项

上述 JavaScript 代码在安装 Roll-up 12 之前有效。 由于 Roll-up 12 启用了对多浏览器功能的支持,因此 JavaScript 代码可能需要进行一些更改。

© . All rights reserved.