Xrm.Page.ui tab.sections Collection
The sections collection contains all the sections present within a tab. This collection implements the collection methods to retrieve or perform actions on each of the sections within the tab.
Examples shown below are in the Sample: SDK.TabSamples.js library.
The following table lists all the methods of a sections collection.
| Method | Description |
|---|---|
|
Applies the action contained within a delegate function. |
|
|
Returns one or more sections depending on the arguments passed. |
|
|
Returns the number of sections in the collection. |
forEach
Applies the action contained within a delegate function.
tabObj.sections.forEach(delegate function(section, index))
- Arguments
- Delegate function with parameters for section and index.
- Return Value
Example:The SDK.TabSamples.listFormHierarchy function uses an anonymous function defined within the argument to display a message showing the hierarchy of tabs and sections on the current form.
SDK.TabSamples.listFormHierarchy = function () { var tabs = Xrm.Page.ui.tabs.get(); var message = "The hierarchy of the current form is:\n\n"; for (var i in tabs) { var tab = tabs[i]; message += " \u2219 " + tab.getLabel() + "\n"; tab.sections.forEach(function (section, sectionIndex) { var sectionLabel = section.getLabel(); if (sectionLabel == null) { sectionLabel = "No Section Label Defined"; } message += " \u2219 " + sectionLabel + "\n"; }); } alert(message); };
Example:The SDK.TabSamples.listFormHierarchy_Example2 function passes a reference to a function defined outside the argument to display a message showing the hierarchy of tabs and sections on the current form.
SDK.TabSamples.listFormHierarchy_Example2 = function () { var tabs = Xrm.Page.ui.tabs.get(); window.message = "The hierarchy of the current form is:\n\n"; for (var i in tabs) { var tab = tabs[i]; window.message += " \u2219 " + tab.getLabel() + "\n"; tab.sections.forEach(SDK.TabSamples.listSectionName); } alert(window.message); window.message = null; }; SDK.TabSamples.listSectionName = function (section, index) { var sectionLabel = section.getLabel(); if (sectionLabel == null) { sectionLabel = "No Section Label Defined"; } window.message += " \u2219 " + sectionLabel + "\n"; };
get
Returns one or more sections depending on the arguments passed.
tabObj.sections.get([String][Number][delegate function(attribute, index)])
- Arguments
-
- None
-
- Return Value All the sections within the tab.
-
Type: ArrayExample:The SDK.TabSamples.showSectionLabels function loops through all of the sections in the first tab and display their label.
SDK.TabSamples.showSectionLabels = function () { var firstTabSections = Xrm.Page.ui.tabs.get(0).sections.get(); var message = "The following sections are in the first tab on the form:\n\n"; for (var i in firstTabSections) { var sectionLabel = firstTabSections[i].getLabel(); if (sectionLabel == null) { sectionLabel = "No Section Label Defined"; } message += " \u2219 " + sectionLabel + "\n"; } alert(message); };
- String
-
- Return Value The section within the tab where the name matches the argument.
-
Type: ObjectExample:The SDK.TabSamples.doesSectionExistByName displays whether there is a section with the given name on the form.
SDK.TabSamples.doesSectionExistByName = function (sectionName) { var tabs = Xrm.Page.ui.tabs.get(); var sectionCount = 0; for (var i in tabs) { var tab = tabs[i]; var section = tab.sections.get(sectionName); if (section != null) { sectionCount++; } } alert("There are " + sectionCount + " section(s) on the form with the name '" + sectionName + "'."); };
- Number
-
- Return Value The section in the tab where the index matches the number.
-
Type: ObjectExample: The SDK.TabSamples.showFirstSectionPerTab function displays the name of the first section in every tab.
SDK.TabSamples.showFirstSectionPerTab = function () { var tabs = Xrm.Page.ui.tabs.get(); var message = "The first sections in every tabs are:\n\n"; for (var i in tabs) { var tab = tabs[i]; var firstSection = tab.sections.get(0); var sectionLabel = firstSection.getLabel(); if (sectionLabel == null) { sectionLabel = "No Section Label Defined"; } message += " \u2219 " + sectionLabel + "\n"; } alert(message); };
- delegate function(section, index)
-
- Return Value Any sections that cause the delegate function to return true.
-
Type: ArrayExample:The SDK.TabSamples.showSectionsVisibility function shows the visibility of every section on the form.
SDK.TabSamples.showSectionsVisibility = function () { var tabs = Xrm.Page.ui.tabs.get(); var message = "The following is a list of tabs and their display state:\n\n"; for (var i in tabs) { var tab = tabs[i]; tab.sections.get(function (section, index) { var sectionLabel = section.getLabel(); if (sectionLabel == null) { sectionLabel = "No Section Label Defined"; } var visibility = ""; if (section.getVisible()) { visibility = "Visible"; } else { visibility = "Hidden"; } message += " \u2219 " + sectionLabel + " - " + visibility + "\n"; }); } alert(message); };
getLength
Returns the number of sections in the collection.
tabObj.sections.getLength()
- Return Value
-
Type: NumberExample:The SDK.TabSamples.listMultipleSectionTabs function lists every tab that contains two or more sections.
SDK.TabSamples.listMultipleSectionTabs = function () { var tabs = Xrm.Page.ui.tabs.get(); var message = "The following tab(s) contain multiple sections:\n\n"; for (var i in tabs) { var tab = tabs[i]; var sectionsCount = tab.sections.getLength(); if (sectionsCount > 1) { message += " \u2219 " + tab.getLabel() + "\n"; } } alert(message); };
Microsoft Dynamics CRM 2011
Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.