CRM Ribbon Workbench - 子网格上的隐藏+按钮

时间:2015-03-06 14:08:14

标签: button dynamics-crm ribbon dynamics-crm-2013 crm-ribbon-workbench

我在名为Issues的新实体上有一个子网格,子网格用于另一个名为Cost Detail的新实体。 我将它们都加载到名为Issue的解决方案中,并在功能区工作台中打开了问题。

我想要做的是当你在问题表格上,并且可以看到我希望能够隐藏显示的+按钮的子网格。但是,当我在功能区工作台中隐藏了此按钮时,它还隐藏了“关联视图”中的添加新按钮,因此无法添加任何记录。

我该怎么做才能隐藏子网格上的+按钮而不是其他视图?

2 个答案:

答案 0 :(得分:2)

修改: 为了隐藏添加按钮,您需要取消用户所在角色的创建权限,或者您可以执行这样的黑客攻击(不受支持):

function hideAddButton(){
    var addButton = $('#NameOfGrid_addImageButton');
    if(addButton.size())
        addButton.hide();
    else
        setTimeout(hideAddButton, 1000);//checks every second to see if the button exists yet
}

并在表单加载

上调用 hideAddButton 函数

答案 1 :(得分:2)

我找到了一个答案。如果您有一个对该实体唯一的字段,那么您可以使用简单的JavaScript代码来完成。
以下是在功能区工作台中必须遵循的步骤:

  1. 右键单击按钮并自定义按钮。
  2. 添加启用规则,在步骤部分添加包含您的库和函数名称的自定义Javascript规则,请确保默认为true。 这必须在你的javascirpt库中:
  3. 
    
    function hideAddNew(){
    	if(Xrm.Page.getAttribute("yourField")){
    		return false;
    	}
    	else {
    		return true;
    	}
    }
    
    
    

    1. 添加包含我们创建的启用规则的命令。
    2. 将命令添加到按钮。
    3. 那就是它。我测试它,它正在工作。