在CRM 2011中,我正在Case页面上开发一个功能区按钮,用于启动自定义对话框。到目前为止,它运行良好。
现在我正试图在案例创建期间和案例关闭后禁用按钮。
在customization.xml中,这是我在CommandDefinitions中使用规则id"Mscrm"的内容。DisableDeactivateButton "
<CommandDefinitions>
<CommandDefinition Id="Cmd_DialogEscalateCase">
<EnableRules>
<EnableRule Id="Mscrm.DisableDeactivateButton" /> ----> this is the name of the Rule
</EnableRules>
<DisplayRules />
<Actions>
<JavaScriptFunction FunctionName="launchModalDialog" Library="$webresource:new_launchDialog">
<!-- dialogID, typeName, recordId -->
<StringParameter Value="38d3bc89-ac5f-4097-94df-e9b165177777" />
<StringParameter Value="incident" />
<CrmParameter Value="FirstPrimaryItemId" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
然后这是我的Mscrm。"DisableDeactivateButton"定义,它会触发一个名为"DisableDialogButton"的jscript web资源:
<EnableRule Id="Mscrm.DisableDeactivateButton">
<CustomRule FunctionName="DisableDialogButton" Library="$webresource:nwp_launchDialog" Default="true" />
</EnableRule>
最后这是我的DisableDialogButton javascript返回false当formType是1(创建)或3(只读):
function DisableDialogButton()
{
var formType = Xrm.Page.ui.getFormType();
if (formType = 1 || formType = 3)
{return false;
}
else
{return true;
}
}
但是这个函数仍然不能工作。你能告诉我该走哪个方向吗?
尝试使用以下代码:
function DisableDialogButton()
{
var formType = Xrm.Page.ui.getFormType();
if (formType == 1 || formType == 3)
{
return false;
}
else
{
return true;
}
}
没有直接回答你的问题。但是对于在工具栏中添加和启用按钮,存在一个很好的CRM解决方案:
Ribbon Workbench vor Dynamics CRM