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
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';
-
Thursday, August 16, 2012 10:42 AM
Ribbon有很多种方式来定义显示隐藏,可以用CustomerRule 结合 OrRule 来实现你些需求。
你用JS方式来改变它不太好,建议用标准的SDK来实现
windows live Id :hellohongfu@hotmail.com