none
js 设置ribbon按钮 RRS feed

  • 问题

  • RT,

    ribbon区域中新增的一个按钮,如何通过js的方式改变它的enabled/disabled、display/hide、label、Tooltip 和Image  ??

    2012年8月11日 2:24

全部回复

  • Hi.

    Ribbon本身有ValueRule。 定以后,可以与EnableRule一起使用,当定义的field改变后,在你的JS方法中,调用Xrm.Page.ui.refreshRibbon(), 刷新ribbon, 就可以了。 在最新的SDK中,有具体的介绍。我没有中文的。

    Remarks: This function is typically used when a ribbon <EnableRule> (RibbonDiffXml) depends on a value in the form. After your code changes a value that is used by a rule, use this method to force the ribbon to re-evaluate the data in the form so that the rule can be applied.

    推荐这个软件

    http://www.develop1.net/public/page/Ribbon-Workbench-for-Dynamics-CRM-2011.aspx

    Jaimie Ji


    • 已编辑 Jaimie_J 2012年8月15日 14:52
    2012年8月15日 14:51
  • 要实现这么多功能, 你可以使用codeplex上面的visual ribbon editor

    http://crmvisualribbonedit.codeplex.com/

    或者直接修改RibbonDiffXml

    我也使用过js来修改按钮

    var buttonID = "lead|NoRelationship|Form|Mscrm.Form.lead.ConvertLead-Large"; // id of ribbon 按钮 (可以用IE developer tool来确认按钮的id)
    var btn = window.top.document.getElementById(buttonID); 

    enable/disable
    btn.disabled = false; 或
    btn.disabled = true;

    display/hide
    btn.style.display = 'none'; 或
    btn.style.display = 'show';

    tooltip
    btn.title = 'whatever';



    • 已编辑 Jack Yin 2012年8月15日 17:15
    2012年8月15日 16:48
  • Ribbon有很多种方式来定义显示隐藏,可以用CustomerRule 结合 OrRule 来实现你些需求。

    你用JS方式来改变它不太好,建议用标准的SDK来实现


    windows live Id :hellohongfu@hotmail.com

    2012年8月16日 10:42