首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户关系管理2011次网格:呼叫JavaScript点击或对焦

客户关系管理2011次网格:呼叫JavaScript点击或对焦
EN

Stack Overflow用户
提问于 2013-04-27 13:00:17
回答 1查看 1.1K关注 0票数 1

当子网格接收到焦点时,JavaScript如何执行?

我有一个子网格,显示与一个帐户相关的所有情况。

当子网格接收到焦点时,我想禁用表单上的一些字段。

色带按钮的RibbonDiffXML动作:

代码语言:javascript
复制
        <Actions>
            <JavaScriptFunction Library="$webresource:mda_convertemailtocaselib" FunctionName="ConvertEmailToCaseLib.addToCase">
              <CrmParameter Value="SelectedControlSelectedItemIds" />
            </JavaScriptFunction>
        </Actions>

这会将子网格选择项传递给带状按钮,但我希望在按下带状按钮之前执行JavaScript。

EN

回答 1

Stack Overflow用户

发布于 2013-04-27 16:01:22

我还没有试过这两种方法,但希望其中一种适合你。

  1. 虽然它是一个子网格,但窗体上仍然有一个控件。不幸的是,由于没有任何通过CRM公开的OnFocus/OnBlur方法,因此没有“受支持”的方法来了解控件何时获得焦点。但是,您应该能够为该控件添加您自己的JS事件处理程序,并通过API Xrm.Page.getControl("fieldname").setDisabled(true)禁用这些字段。
  2. 我不能百分之百确定这种方式会不会奏效,但这会很贴心。创建一个CustomRule EnableRule。在这个CustomRule中,您可以调用自己的JS。在此中,创建一个禁用字段的函数,然后返回true使按钮启用。看起来会是这样的:

代码语言:javascript
复制
    function disableFieldsEnableRule() { 
        Xrm.Page.getControl().setDisabled(true);
        ...
        ...
        return true; // so the button is enabled
    }

我不确定这是否有效的唯一原因是,我不确定每次单击子网格时是否检查了启用规则,或者仅仅是第一次(我认为应该是每次)。另外,我不确定一旦单击off,是否希望重新启用这些字段。如果您这样做了,您可能需要使用本机表单上的按钮或其他类似的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16252406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档