【问题标题】:How to create a button that performs the same events the delete ribbon button performs如何创建执行删除功能区按钮执行相同事件的按钮
【发布时间】:2013-10-10 17:54:45
【问题描述】:

我有一个自定义实体,如果表单中填充了特定值,则该实体只需要显示“删除”按钮。如果这是一个自定义的功能区按钮,我会使用 Enable Rules 部分来调用 JavaScript 函数。

所以,我就是这样做的。我隐藏了系统删除按钮并创建了我自己的。但我不知道如何让新创建的按钮调用与原始删除按钮调用相同的函数。目前,我有按钮调用 REST 函数来删除记录,但 UI 不会像单击 System.Delete 按钮时那样自动刷新。

我可以调用系统 JavaScript 方法而不是自己构建所有这些功能吗?

【问题讨论】:

  • 为什么您没有将 javascript 规则应用于原始删除按钮?
  • 我正在使用 CRM 2011 可视功能区编辑器,它不允许我添加到该按钮。
  • 尝试使用功能区工作台develop1.net/public/page/…,或者您可以随时手动修改xml

标签: dynamics-crm-2011


【解决方案1】:

我认为您的根本问题是如何禁用系统按钮。好消息是我们现在可以做到,但在我看来这是一项复杂的任务。下面是详细步骤: 1. 使用ExportXml 导出系统功能区文件。 (sdk\samplecode\cs\client\ribbon\exporttribbonxml)

  1. 找到正确的功能区文件。如果要修改帐户的功能区,则应选择 accountRibbon.xml。

  2. 打开功能区文件,找到要隐藏的按钮定义语句。

4.将这些语句复制到您的自定义实体的customizations.xml 中,并修改它的enablerule。

下面是一个示例代码,它能够隐藏主页功能区中自定义实体的新按钮。

          <CustomAction Id="Mscrm.Form.new_purchaseorder.SaveAndNew.custom" Location="Mscrm.Form.new_purchaseorder.MainTab.Save.Controls._children">
            <CommandUIDefinition>
              <Button Id="Mscrm.Form.new_purchaseorder.SaveAndNew" ToolTipTitle="$Resources:Mscrm_Form_Other_MainTab_Save_SaveAndNew_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.SaveAndNew" Command="Mscrm.SaveAndNewPrimary.custom" Sequence="40" LabelText="$Resources:Ribbon.Form.MainTab.Save.SaveAndNew" Alt="$Resources:Ribbon.Form.MainTab.Save.SaveAndNew" Image16by16="/_imgs/ribbon/saveandnew16.png" Image32by32="/_imgs/ribbon/saveandnew32.png" TemplateAlias="o2" />
            </CommandUIDefinition>
          </CustomAction>

 <CommandDefinition Id="Mscrm.SaveAndNewPrimary.custom">
            <EnableRules>
              <EnableRule Id="Mscrm.NewRecordFromGrid.EnableRule1" />
              <EnableRule Id="Mscrm.AvailableOnForm" />
              <EnableRule Id="Mscrm.CanSavePrimary" />
            </EnableRules>
            <DisplayRules>
              <DisplayRule Id="Mscrm.CreatePrimaryEntityPermission" />
            </DisplayRules>
            <Actions>
              <JavaScriptFunction FunctionName="Mscrm.RibbonActions.saveAndNewForm" Library="/_static/_common/scripts/RibbonActions.js">
                <CrmParameter Value="PrimaryControl" />
              </JavaScriptFunction>
            </Actions>
          </CommandDefinition>

     <EnableRule Id="Mscrm.NewRecordFromGrid.EnableRule1">
              <CustomRule Library="$webresource:new_purchaseorder.js" FunctionName="NewRecordFromGrid_enablerule1" Default="false"></CustomRule>
            </EnableRule>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多