js 设置ribbon按钮

Unanswered js 设置ribbon按钮

  • Saturday, August 11, 2012 2:24 AM
     
     

    RT,

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

All Replies

  • Wednesday, August 15, 2012 2:51 PM
     
      Has Code

    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


    • Edited by Jaimie_J Wednesday, August 15, 2012 2:52 PM
    •  
  • Wednesday, August 15, 2012 4:48 PM
     
     

    要实现这么多功能, 你可以使用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';



    • Edited by Jack Yin Wednesday, August 15, 2012 5:00 PM
    • Edited by Jack Yin Wednesday, August 15, 2012 5:15 PM
    •  
  • Thursday, August 16, 2012 10:42 AM
     
     

    Ribbon有很多种方式来定义显示隐藏,可以用CustomerRule 结合 OrRule 来实现你些需求。

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


    windows live Id :hellohongfu@hotmail.com