如何折叠/展开表单中的导航项?有一个函数setDisplayState,但它是用于选项卡的,而不是用于导航项目的。
如何使用javascript for crm 2011折叠/展开导航项目??
发布于 2012-01-02 22:48:52
Xrm对象允许interacting with navigation items,但不允许使用导航标签本身,因此您必须使用不受支持的方法(这些方法可能会/不会完全损坏,或者在下一个版本的Dynamics CRM中变得无关紧要)。
下面的示例检查每个导航选项卡的折叠状态,并相应地折叠它们。
function SetCollapsedState(navigationName, makeCollapsed) {
var navItems = document.getElementById("crmFormNavSubareas");
for (i = 0; i < navItems.childNodes.length; i++) {
var navItem = navItems.childNodes.item(i);
var navChild = navItem.firstChild.firstChild;
var navName = navChild.attributes.getNamedItem("alt").nodeValue;
if (navName.indexOf(navigationName) === 0) {
// The "alt" property changes to read "Collapsed" or "Expanded" when
// the navigation tab is clicked; this is how I imagine the internal
// CRM js checks the collapsed state of each tab.
if ((makeCollapsed === true && navName.indexOf("Expanded") > 0)
|| (makeCollapsed === false && navName.indexOf("Collapsed") > 0)) {
navItem.firstChild.click();
}
}
}
}附注:你的答案作为你的问题的注释(顺便说一句,可能应该变成一个实际的答案)解决了你的问题,但我还是决定post,以包含一个更全面的函数,并提到Xrm对象处理/不处理的确切内容。
https://stackoverflow.com/questions/8700096
复制相似问题