CRM 功能区 Workbench - 在子网格上隐藏 + 按钮
CRM Ribbon Workbench - Hide + Button on Sub-Grid
我在一个名为 Issues 的新实体上有一个子网格,该子网格用于另一个名为 Cost Detail 的新实体。
我将它们都加载到我的名为 Issue 的解决方案中,并在功能区 workbench.
中打开了问题
我想要做的是,当您在问题表单上并且可以看到子网格时,我希望能够隐藏显示的 + 按钮。但是,当我在功能区 workbench 中隐藏此按钮时,它还会在 'Associated View' 中隐藏添加新按钮,因此无法添加任何记录。
如何才能只隐藏子网格上的 + 按钮而不隐藏其他视图?
编辑:
为了隐藏添加按钮,您需要取消对用户所在角色的创建权限,或者您可以像这样进行黑客攻击(不受支持):
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 函数
我找到了一个答案。如果您有一个对该实体唯一的字段,那么您可以使用简单的 javascript 代码来完成。
以下是功能区 workbench 中必须遵循的步骤:
- 右键单击按钮并自定义按钮。
- 添加启用规则,在步骤部分添加自定义 Javascript 规则,其中包含您的库和函数名称,请确保默认为真。
这必须在您的 javascirpt 库中:
function hideAddNew(){
if(Xrm.Page.getAttribute("yourField")){
return false;
}
else {
return true;
}
}
- 添加包含我们创建的启用规则的命令。
- 将命令添加到按钮。
就是这样。我测试它,它正在工作。
我在一个名为 Issues 的新实体上有一个子网格,该子网格用于另一个名为 Cost Detail 的新实体。 我将它们都加载到我的名为 Issue 的解决方案中,并在功能区 workbench.
中打开了问题我想要做的是,当您在问题表单上并且可以看到子网格时,我希望能够隐藏显示的 + 按钮。但是,当我在功能区 workbench 中隐藏此按钮时,它还会在 'Associated View' 中隐藏添加新按钮,因此无法添加任何记录。
如何才能只隐藏子网格上的 + 按钮而不隐藏其他视图?
编辑: 为了隐藏添加按钮,您需要取消对用户所在角色的创建权限,或者您可以像这样进行黑客攻击(不受支持):
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 函数
我找到了一个答案。如果您有一个对该实体唯一的字段,那么您可以使用简单的 javascript 代码来完成。
以下是功能区 workbench 中必须遵循的步骤:
- 右键单击按钮并自定义按钮。
- 添加启用规则,在步骤部分添加自定义 Javascript 规则,其中包含您的库和函数名称,请确保默认为真。 这必须在您的 javascirpt 库中:
function hideAddNew(){
if(Xrm.Page.getAttribute("yourField")){
return false;
}
else {
return true;
}
}
- 添加包含我们创建的启用规则的命令。
- 将命令添加到按钮。
就是这样。我测试它,它正在工作。