Kurzübersicht zum Formularskripting
Veröffentlicht: November 2016
Gilt für: Dynamics CRM 2015
In diesem Thema wird eine Kurzübersicht der am häufigsten verwendeten Formularskriptmethoden anhand der Aufgaben gegeben, die Sie damit ausführen. Die vollständige Übersicht finden Sie unter Cclientseitige Programmierreferenz. Alle Beispiele auf dieser Seite verwenden das standardmäßige Firmenentitätshauptformular, sofern nichts anders angegeben ist.
In diesem Thema
Attribute
Zugreifen auf Attribute
Entitätsattributdaten abrufen oder festlegen
Attribut-Metadaten abrufen
Ereignis-Argumente speichern
Benachrichtigungen anzeigen
Steuerelemente
Auf Formular-Steuerelemente zugreifen
Auf Kopfzeilen-Steuerelemente zugreifen
Zugriff auf Geschäftsprozessflusssteuerungen
Formularsteuermethoden
OptionSet-Steuerelement-Methoden
IFRAME- und Webressourcen-Steuerelementmethoden
Steuerelementmethoden suchen
Unterrastersteuerelementmethoden
Datensteuerelementmethoden
Formularnavigation
Registerkarten und Abschnitte
Hinzufügen oder Entfernen von Ereignishandlern zur Laufzeit
Kontextbezogene Informationsmethoden
Daten abrufen, aktualisieren oder speichern
Attribute
Attribute speichern die Daten, die im Datensatz verfügbar sind.
Zugreifen auf Attribute
Attribute sind von der Xrm.Page.data.entity.attributes-Sammlung verfügbar. Um auf ein Attribut zuzugreifen, können Sie Xrm.Page.data.entity.attributes.get-Methode oder die Verknüpfungsversion Xrm.Page.getAttribute verwenden. Für die get-Methode sind vier Arten von Anfragen zulässig:
Zeichenfolge: Gibt ein Attributobjekt zurück, bei dem der Attributname der die Zeichenfolge entspricht.
Nummer: Gibt das Attributsobjekt zurück, bei dem der Xrm.Page.data.entity.attributes-Sammlungsindex der Nummer entspricht.
Keine: Gibt ein Array aller Attribute zurück.
Delegate function(attribute,index): Gibt ein Array eines beliebigen Attributs aus der Xrm.Page.data.entity.attributes- Sammlung zurück, das dazu führt, dass die Stellvertretungsfunktion true zurückgibt.
Aufgabe |
Beispiel |
---|---|
Auf ein Attribut über den Namen zugreifen |
var nameAttribute = Xrm.Page.getAttribute("name"); Weist das Attribut für das Feld Firmenname der Variablen nameAttribute zu. |
Auf ein Attribut über den Index zugreifen |
var firstAttribute = Xrm.Page.getAttribute(0); Weist das erste Attribut in der Xrm.Page.data.entity.attributes-Sammlung der Variablen firstAttribute zu. |
Zugreifen auf alle Attribute |
var allAttributes = Xrm.Page.getAttribute(); Weist ein Array aller Attribute in der Xrm.Page.data.entity.attributes-Sammlung der Variable allAttributes zu. |
Zugreifen auf alle Attribute, die bestimmte Kriterien erfüllen |
var optionsetAttributes = Xrm.Page.getAttribute(function (attribute, index) { Weist ein Array aller Attribute in der Xrm.Page.data.entity.attributes-Sammlung, die die Kriterien erfüllen, die in der anonymen Funktion festgelegt wurden, die true zurückgibt, wenn der Attributtyp "optionset" ist, der Variable optionsetAttributes zu. |
Die Xrm.Page.data.entity.attributes Sammlung enthält ebenfalls eine forEach Methode, die Sie verwenden können, um auf Attribute innerhalb einer Funktion zuzugreifen. Die folgende writeRequiredAttributesToConsole Funktion schreibt die Namen aller Attribute, die Daten erfordern in die Debuggingskonsole:
function writeRequiredAttributesToConsole() {
var requiredAttributeNames = [];
Xrm.Page.data.entity.attributes.forEach(
function (attribute, index) {
if (attribute.getRequiredLevel() == "required")
{ requiredAttributeNames.push(attribute.getName()); }
});
if (requiredAttributeNames.length > 0) {
if (typeof console != "undefined") {
console.log(requiredAttributeNames.join());
}
}
else {
if (typeof console != "undefined") {
console.log("No required attributes detected");
}
}
}
In diesem Thema
Entitätsattributdaten abrufen oder festlegen
Die Beispiele in der folgenden Tabelle zeigen, wie Sie die Daten abrufen oder ändern können, die in den Attributen gespeichert sind.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Den Wert eines Attributs abrufen |
var nameValue = Xrm.Page.getAttribute("name").getValue(); Weist den Wert des Attribut für das Feld Firmenname der Variablen nameValue zu. |
|
Den Wert eines Attributs festlegen |
Xrm.Page.getAttribute("name").setValue("new name"); Legt den Wert des Attribut für das Feld Firmenname auf "new name" fest. |
|
Den Textwert der aktuell ausgewählten Option eines optionset-Attributs abrufen |
var addressType = Xrm.Page.getAttribute("address1_addresstypecode").getText(); Weist den Text der ausgewählten Option im Feld Adresstyp der Variablen addressType zu. |
|
Abrufen des aktuell ausgewählten Optionsobjekts in einem optionset Attribut |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption(); Weist die ausgewählte Option im Feld Adresstyp der Variablen addressTypeOption zu. |
In diesem Thema
Attribut-Metadaten abrufen
Die Beispiele in der folgenden Tabelle zeigen wie Sie Attributeigenschaften abfragen können, um zu verstehen, welche Art von Attribut es ist oder um das Verhalten des Attributs zu ändern.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Den Typ eines Attributs abrufen |
var attributeType = Xrm.Page.getAttribute(0).getAttributeType(); Weist den Zeichenfolgenwert, der den Typ des Attributs für das erste Attribut darstellt der attributeType-Variablen zu. |
|
Verstehen, wie das Attribut formatiert ist |
var attributeFormat = Xrm.Page.getAttribute(0).getFormat(); Weist den Zeichenfolgenwert, der das Format des Attributs für das erste Attribut darstellt der attributeFormat Variablen zu. |
|
Abrufen des Anfangswerts eines Boolean oder optionset Attributs |
var attributeInitialValue = Xrm.Page.getAttribute("address1_addresstypecode").getInitialValue(); Weist den Anfangszahlenwert des Attribut für das Feld Adressentyp der Variablen attributeInitialValue zu. |
|
Bestimmen, ob ein Attributswert geändert wurde |
var isNameChanged = Xrm.Page.getAttribute("name").getIsDirty(); Weist einen Boolean Wert zu, der angibt, ob der Feldwert Firmenname zur Variable isNameChanged geändert wurde. |
|
Legt fest, ob ein Suchattribut eine PartyList-Suche darstellt. |
var isPartyList = Xrm.Page.getAttribute("to").getIsPartyList(); Weist einen Boolean Wert zu, der angibt, ob die Feld E-Mail Entität an eine Parteilistensuche darstellt. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Abrufen des maximal zulässigen Werts für ein Attribut, das eine Zahl enthält |
var newValue = 100000000000001; Weist einen Boolean Wert zu, der angibt, ob der Wert der newValue der Variablen den maximal zulässigen Wert für das Feld Kreditlimit überschreitet der Variablen newValueBelowMax zu. |
|
Abrufen der maximal zulässigen Länge für ein Attribut, das eine Zeichenfolge enthält |
var newAccountName = "A Store"; Weist einen Boolean Wert zu, der angibt, ob der Wert der newAccountName Variablen die maximal zulässige Länge für das Feld Firmenname überschreitet der Variablen nameTooLong zu. |
|
Abrufen des zulässigen Mindestwerts für ein Attribut, das eine Zahl enthält |
var newValue = -1; Weist einen Boolean Wert zu, der angibt, ob der Wert der newValue der Variablen den zulässigen Mindestwert für das Feld Kreditlimit unterschreitet der Variablen newValueBelowMin zu. |
|
Ruft den logischen Name eines Attributs ab |
var attributeName = Xrm.Page.getAttribute(0).getName(); Weist den logischen Namenswert des ersten Attributs auf der Seite der attributeName-Variablen zu. |
|
Abrufen des Optionsobjekts, das einen Wert darstellt |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getOption(1); Zeigt eine Warnung an, die den Test der Feldoption Adresstyp mit dem Wert 1 anzeigt. |
|
Abrufen eines Zahlenwerts, der die Genauigkeitsebene für das Nummernattribut darstellt |
var creditLimitPrecision = Xrm.Page.getAttribute("creditlimit").getPrecision(); Weist den Genauigkeitswert des Felds Kreditlimit der Variablen creditLimitPrecision zu. |
|
Abrufen eines Zeichenfolgenwerts, der darstellt, ob ein Attribut einen Wert haben muss |
var creditLimitRequired = Xrm.Page.getAttribute("creditlimit").getRequiredLevel(); Der Variablenwert creditLimitRequired kann none, required oder recommended sein. |
|
Ändern, ob Daten in einem Feld erforderlich sind, um einen Datensatz zu speichern |
Xrm.Page.getAttribute("creditlimit").setRequiredLevel("required"); Dadurch wird das Feld Kreditlimit erforderlich. |
|
Bestimmen, ob die Daten in einem Attribut gesendet werden, wenn der Datensatz gespeichert wird |
var nameSubmitMode = Xrm.Page.getAttribute("name").getSubmitMode(); Der Variablenwert nameSubmitMode ist entweder always, never oder dirty, um submitMode für das Feld Firmenname darzustellen. |
|
Steuern, ob die Daten in einem Attribut gespeichert werden, wenn der Datensatz gespeichert wird |
Xrm.Page.getAttribute("name").setSubmitMode("always"); In diesem Beispiel wird vom Feldwert Firmenname erzwungen, immer zu speichern, auch wenn er nicht geändert wurde. |
|
Falls die Sicherheit auf Feldebene auf ein Attribute angewendet wurde, |
var canUpdateNameAttribute = Xrm.Page.getAttribute("name").getUserPrivilege().canUpdate; Weist einen Boolean-Wert zu, der das Recht eines Benutzers zum Aktualisieren des Felds Firmenname darstellt, der Variablen canUpdateNameAttribute zu. |
In diesem Thema
Ereignis-Argumente speichern
Wenn Geschäftslogik erzwungen wird, ist es oft erforderlich, zu verhindern, dass ein Datensatz gespeichert wird, damit der Benutzer die erforderlichen Informationen einschließen kann. Dazu müssen Sie den Ereignishandler konfigurieren, damit Ausführungskontext übergeben wird. Der Ausführungskontext enthält die getEventArgs Methode, um Argumente für das Ereignis abzurufen. Diese Argumente umfassen Methoden, die Sie verwenden können, um zu steuern, ob ein Datensatz gespeichert werden oder Eigenschaften abfragen, die Ihnen etwas zum save-Ereignis sagen.
Aufgabe |
Beispiel |
---|---|
Verhindern, dass ein Datensatz gespeichert wird. |
function My_PreventSaveFunction(eContext) { Verwenden Sie den Parameter eContext, um den Ausführungskontext zu erfassen und die preventDefault Methode zu nutzen, die in den Ereignisargumenten enthalten ist. |
Bestimmen Sie welche Aktion das Speichern initiiert hat. |
function My_GetSaveModeTextFunction(eContext) { Verwenden Sie den Parameter eContext, um den Ausführungskontext zu erfassen und die getSaveMode Methode zu nutzen, die in den Ereignisargumenten enthalten ist, um den Integer-Codewert in Text zu konvertieren. |
In diesem Thema
Benachrichtigungen anzeigen
Benachrichtigungen bieten eine Möglichkeit, um Benutzern eine Meldung anzuzeigen.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Zeigen Sie eine Meldung neben dem Steuerelement an, um anzugeben, dass Daten ungültig sind. |
Xrm.Page.getAttribute("name").controls.forEach( Legt eine Überprüfungsfehlermeldung für jedes Steuerelement im Formular für das Attribut Firmenname fest. Solange die Meldung angezeigt wird, kann der Datensatz nicht gespeichert werden. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Entfernen Sie eine Nachricht, die bereits für ein Steuerelement angezeigt wird. |
Xrm.Page.getAttribute("name").controls.forEach( Löscht alle Überprüfungsfehlermeldungen für jedes Steuerelement im Formular für das Attribut Firmenname fest. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Anzeigenformular-Ebenenbenachrichtigungen. |
Xrm.Page.ui.setFormNotification( Zeigt die Meldung "Hallo" mit einem Systeminfosymbol oben im Formular an. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Anzeigenformular-Ebenenbenachrichtigungen entfernen. |
Xrm.Page.ui.clearFormNotification("helloMsg"); Löscht die zuvor mithilfe von "helloMsg" als uniqueid-Parameter festgelegte Meldung. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Zeigen Sie einen nicht blockierenden Warnungsdialog mit einer Rückruffunktion an. |
var alertDisplayed = false; Zeigen Sie einer Warnmeldung an und legen Sie den Wert der Variablen alertDisplayed fest, wenn sie geschlossen ist. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Zeigen Sie einen nicht blockierenden Bestätigungsdialog mit unterschiedlichen Rückrufen an, je nach Schaltfläche, auf die der Benutzer geklickt hat. |
var agree = false; Zeigen Sie eine Bestätigungsmeldung an und legen Sie den Wert der Variablen agree abhängig von der Antwort fest. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
In diesem Thema
Steuerelemente
Steuerelemente repräsentiert die Elemente der Benutzeroberfläche im Formular. Jedes Attribut im Formular hat mindestens ein Steuerelement zugewiesen. Nicht jedes Steuerelement wird einem Attribute zugeordnet.IFRAME Webressourcen und Unterraster sind Steuerelemente die keine Attribute haben.
Auf Formular-Steuerelemente zugreifen
Steuerelemente sind aus der Xrm.Page.ui.-Steuerelementesammlung verfügbar. Um auf ein Steuerelement zuzugreifen, können Sie Xrm.Page.ui.controls.get-Methode oder die Verknüpfungsversion Xrm.Page.getControl verwenden.
Für die get-Methode sind vier Arten von Anfragen zulässig:
Zeichenfolge: Gibt ein Steuerelement zurück, in der logische Name der Zeichenfolge entspricht.
Nummer: Gibt das Steuerelement zurück, bei dem der Xrm.Page.ui.controls-Sammlungsindex der Nummer entspricht.
Keine: Gibt ein Array aller Steueremente zurück.
Delegate function(control,index): Gibt ein Array eines beliebigen Steuerelements aus der Xrm.Page.ui.controls-Sammlung zurück, das dazu führt, dass die Stellvertretungsfunktion zurückgibt.
Aufgabe |
Beispiel |
---|---|
Auf alle Steuerelemente für ein bestimmtes Attribut zugreifen |
var nameControls = Xrm.Page.getAttribute("name").controls.get(); Weist ein Array aller Steuerelemente für das name-Attribut der Variablen nameControls zu. |
Auf ein Steuerelement über den Namen zugreifen |
var nameControl = Xrm.Page.getControl("name"); Weist das erste Steuerelement, das das Feld Firmenname darstellt der Variablen nameControl zu. Das erste Steuerelement, das auf einem Formular für ein Attribut hinzugefügt wird, hat denselben Namen, wie das Attribut. Jeder zusätzliche Name eines Steuerelements, hat eine Indexnummer an den Namen angefügt. Beispielsweise verfügen die drei Steuerelemente für das Namensattribut über die Namen: name, name1und name2. |
Auf ein Steuerelement über den Index zugreifen |
var firstControl = Xrm.Page.getControl(0); Weist das erste Steuerelement in der Xrm.Page.ui.controls-Sammlung der Variablen firstControl zu. |
Auf alle Steuerelemente zugreifen |
var allControls = Xrm.Page.getControl(); Weist ein Array aller Steuerelemente in der Xrm.Page.ui.controls-Sammlung der Variable allControls zu. |
Auf alle Steuerelemente, die bestimmte Kriterien erfüllen zugreifen |
var optionsetControls = Xrm.Page.getControl(function (control, index) { Weist ein Array aller Attribute in der Xrm.Page.ui.controls-Sammlung, die die Kriterien erfüllen, die in der anonymen Funktion festgelegt wurden, die true zurückgibt, wenn der Steuerelementtyp optionsetControls ist, der Variablen zu. |
Jeder Abschnitt enthält zudem eine Steuerelementsammlung, die nur die Steuerelemente für diesen Abschnitt enthält. Im folgenden Codebeispiel wird die Variablen generalTabAccountInfoSectionControls einem Steuerelementearray zugewiesen, das im Abschnitt Adresse der Registerkarte Allgemein gefunden wird.
var generalTabAccountInfoSectionControls = Xrm.Page.ui.tabs.get("general").sections.get("address").controls.get();
Hinweis
Jedes Attribut ist nur einmal im Formular vorhanden, aber dem Formular kann ein Feld für dieses Attribut mehrmals hinzugefügt werden. Jedes Feld, die hinzugefügt wird, erstellt ein anderes Steuerelement. Formulare können möglicherweise weiter angepasst werden, nachdem Sie Ihre Skripts geschrieben haben. Die Skripts, die Sie für Attributsteuerelemente schreiben, sollten davon ausgehen, dass sie mehrfach im Formular enthalten sind. Jede Aktion, die Sie für ein Steuerelement für ein Attribut ausführen möchten, sollte normalerweise auf alle Steuerelemente dieses Attributs angewendet werden. Wenn Sie z. B. ein Steuerelement deaktivieren möchten, aber nur eins davon deaktivieren, wird der Benutzer Daten möglicherweise über ein anderes eingeben. Aus diesem Grund ist es empfehlenswert, dass Sie das folgende Muster mithilfe der Sammlungsmethode forEach nutzen, um dieselbe Logik auf alle Steuerelemente für ein Attribut anzuwenden, auch wenn zum Zeitpunkt, an dem Sie das Skript schreiben, nur ein Steuerelement vorhanden ist.
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); });
In diesem Thema
Auf Kopfzeilen-Steuerelemente zugreifen
Steuerelemente in der Kopfzeile folgen der Namenskonvention, in der "header_" dem Namen des Steuerelements vorangestellt ist. Wenn z. B. das name-Attribut in der Kopfzeile ist, können Sie darauf zugreifen mit:
var nameControlInHeader = Xrm.Page.getControl("header_name");
Zugriff auf Geschäftsprozessflusssteuerungen
Steuerelemente in den Geschäftsprozessflusssteuerungselementen folgen der Namenskonvention, in der "header_process" dem Namen des Steuerelements vorangestellt ist. Wenn z. B. das name-Attribut in der Kopfzeile ist, können Sie darauf zugreifen mit:
var nameControlInBPF = Xrm.Page.getControl("header_process_name");
Hinweis
Nur Steuerelemente in der aktiven Phase sind in der Xrm.Page.ui.controls-Sammlung, wenn das Formular geladen wird. Andere Prozessflusssteuerungen werden hinzugefügt, wenn eine Phase für die aktuelle Entität ausgewählt wird.
Formularsteuermethoden
Nachdem Sie Zugriff auf ein Steuerelement haben, können Sie die folgenden Methoden aufrufen.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Ermitteln, ob ein Steuerelement angezeigt wird |
var isNameVisible = Xrm.Page.getControl("name").getVisible(); Weist der Variablen isNameVisible einen Boolean Wert zu, der angibt, ob das Feld Firmenname sichtbar ist. |
|
Ein- oder Ausblenden eines Steuerelements |
Xrm.Page.getControl("name").setVisible(false); Blendet das Feld Firmenname aus. |
|
Abrufen eines Verweises auf das Attribut für das Steuerelement |
var nameAttribute = Xrm.Page.getControl("name").getAttribute(); Weist das Attribut für das Steuerelement für das Feld Firmenname der Variablen nameAttribute zu. Hinweis Nicht alle Attribute haben Steuerelemente. |
|
Ermitteln vom Typ des Steuerelements |
var optionSetControls = Xrm.Page.getControl(function (control, index) { return control.getControlType() == "optionset"; }); Weist ein Array von optionSetControls Steuerelementen der Variable optionset " zu. |
|
Ermitteln, ob ein Steuerelement aktiviert ist |
var disabledControls = Xrm.Page.getControl(function(control, index) { return control.getDisabled(); }); Weist ein Array von deaktivierten Steuerelementen der Variable disabledControls " zu. Hinweis Webressource- und Unterrastersteuerelemente unterstützen diese Methode nicht. |
|
Deaktivieren oder aktivieren eines Steuerelements |
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); }); Deaktivieren Sie jedes Steuerelement für das Attribut name. Tipp Beachten Sie, dass jedes Attribut möglicherweise mehrere Steuerelemente haben kann. |
|
Abrufen der Beschriftung für ein Steuerelement |
var nameControlLabel = Xrm.Page.getControl("name").getLabel(); Weist den Wert des Steuerelements für das Feld Firmenname der Variablen nameControlLabel zu. |
|
Ändern der Bezeichnung für ein Steuerelement |
Xrm.Page.getControl("name").setLabel("Company Name"); Ändert die Bezeichnung für das Feld Firmenname auf Firmenname. |
|
Abrufen des Namens eines Steuerelements |
var firstControlName = Xrm.Page.getControl(0).getName(); Weist den Namen des ersten Steuerelements in der Xrm.Page.ui.controls-Sammlung der Variablen firstControlName zu. |
|
Abrufen des übergeordneten Elements eines Steuerelements |
var parentSection = Xrm.Page.getControl("name").getParent(); Weist den übergeordneten Abschnitt des Steuerelements für das Feld Firmenname der Variablen parentSection zu. |
|
Festlegen des Fokus auf einem Steuerelement |
Xrm.Page.getControl("name").setFocus(); Legt den Fokus auf das Feld Firmenname fest. |
In diesem Thema
OptionSet-Steuerelement-Methoden
Optionssets haben zudem einige spezielle Methoden. Es ist wichtig zu bedenken, dass die Attribute die gültigen Optionen für optionset definieren. Wenn Sie mit einem optionset-Steuerelement arbeiten, können Sie verfügbare Optionen ändern, Sie können jedoch keine neuen Optionen erstellen.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Hinzufügen einer Option zum optionset-Steuerelement |
var addressTypeCodeControl = Xrm.Page.getControl("address1_addresstypecode"); Greifen Sie mithilfe eines Verweises auf das Steuerelement für das Feld Adresstyp auf das Attribut für das Steuerelement zu und verwenden Sie die Methode getOption, um die Variable billToAddressOption auf die Option festzulegen, die die Option Rechnungsadresse darstellt. Verwenden clearOptions, um alle vorhandenen Optionen zu entfernen und verwenden Sie addOption, um billToAddressOption als einzige Option festlegen, die für dieses Steuerelement verfügbar ist. |
|
Entfernen aller optionset-Optionen von einem Steuerelement |
Xrm.Page.getControl("address1_addresstypecode").clearOptions(); Entfernen Sie alle Optionen vom Steuerelement für das Feld Adresstyp. |
|
Entfernen Sie eine einzelne Option von einem Steuerelement. |
Xrm.Page.getControl("address1_addresstypecode").removeOption(1); Entfernen Sie die Optionen Rechnung an vom Steuerelement für das Feld Adresstyp. |
In diesem Thema
IFRAME- und Webressourcen-Steuerelementmethoden
Ein IFRAME-Steuerelement ermöglicht es, eine Seite in einem Formular einzuschließen, indem eine URL bereitgestellt wird. Eine HTML-Webressource, die einem Formular hinzugefügt wurde, wird mithilfe eines IFRAME-Elements angezeigt.Silverlight und Bildwebressourcen werden direkt in der Seite eingebettet.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Rufen Sie den Wert eines Datenabfragezeichenfolgenparameters ab, der an eine Silverlight Webressource übergeben wurde. |
var dataValue = Xrm.Page.getControl("WebResource_SilverLightControl").getData(); Weist den Wert zu, der der Variable dataValue über den Datenabfragezeichenfolgenparameter übergeben wurde. |
|
Rufen Sie URL für den aktuell in einem IFRAME angezeigten Inhalt ab. |
var iframeSource = Xrm.Page.getControl("IFRAME_targetPage").getSrc(); Weist die Zeichenfolge, die den aktuellen IFRAME.src-Attributswert darstellt der Variablen iframeSource zu. |
|
Legt die URL für den Inhalt fest, der in einem IFRAME angezeigt wird. |
Xrm.Page.getControl("IFRAME_targetPage").setSrc("http://www.bing.com"); Legt eine URL fest, die der IFRAME.src für das Steuerelement sein soll. |
|
Rufen Sie die URL ab, die die standardmäßig konfigurierte URL für einen IFRAME darstellt. |
var initialUrl = Xrm.Page.getControl("IFRAME_bing").getInitialUrl(); Weist die anfängliche URL, die konfiguriert wurde, um im IFRAME angezeigt zu werden, der Variablen initialUrl zu. |
|
Ruft das Objekt im Formular, das die Webressource darstellt oder IFRAME ab. |
var obj = Xrm.Page.getControl("IFRAME_bing").getObject(); Weist ein Objektverweis der Variablen obj zu. Für einen IFRAME ist das das IFRAME Dokumentobjektmodell (DOM)-Element. Für eine Silverlight-Webressource ist das das Objekt Objekt-Element, das das eingebettete Silverlight-Plug-In darstellt. |
In diesem Thema
Steuerelementmethoden suchen
Eine gebräuchliche Anforderung für Nachschlagesteuerelemente ist das Angeben der Standardansicht, die angezeigt wird, wenn ein Benutzer das Feld aktualisiert.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Hinzufügen einer benutzerdefinierten Ansicht für eine Suche. |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Legt die Variablen viewId, viewDisplayName, fetchXml und layoutXml fest, die als Argumente übergeben werden sollen, damit eine benutzerdefinierte Ansicht dem Steuerelement für das Suchfeld Übergeordnete Firma hinzugefügt wird. |
|
Rufen Sie die Standardansicht für eine Suche ab. |
var defaultViewId = Xrm.Page.getControl("parentaccountid").getDefaultView(); Weisen Sie den id-Wert der der Standardansicht der Variablen defaultViewId zu. |
|
Legen Sie die Standardansicht für eine Suche fest. |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Legt die Standardansicht für das Steuerelement für das Feld Übergeordnete Firma auf den Wert id in der Variablen viewId fest. |
|
Filtern der Datensätze, die für ein Nachschlagesteuerelement zurückgegeben wurden |
Das folgende Codebeispiel wird für die Suche des Verkaufschance-Formulars Firma (parentaccountid) bereitgestellt. Wenn die Sdk.setParentAccountIdFilter-Funktion im Onload-Formularereignishandler festgelegt ist, wird die Sdk.filterCustomAccounts-Funktion zum PreSearch-Ereignis für diese Suche hinzugefügt. Das Ergebnis ist, dass nur Firmen mit dem Kategorie (accountcategorycode)-Wert Bevorzugter Kunde (1) zurückgegeben werden.
|
In diesem Thema
Unterrastersteuerelementmethoden
Das Steuerelement SubGrid ist ein Raster innerhalb eines Formulars. Es hat ist eine eindeutige Methode.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Aktualisieren der Daten, die im Unterraster angezeigt werden |
Xrm.Page.getControl("accountcontactsgrid").refresh(); Aktualisieren Sie die Kontaktesubgrid. |
In diesem Thema
Datensteuerelementmethoden
Das Date-Steuerelement ist eine eindeutige Methode.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Geben Sie an, ob ein Datumssteuerelement den Zeitteil des Datums anzeigen soll. |
Xrm.Page.getControl("createdon").setShowTime(false); Legen Sie das Feld Erstellt am fest, damit die Zeit nicht angezeigt wird. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
In diesem Thema
Formularnavigation
Sie können die Navigationselemente auf der linken Seite des Formulars verwenden und verändern. Diese Navigationselemente zeigen in der Regel Datensätze, die mit dem Datensatz verknüpft sind, der im Formular angezeigt wird.
Sie können auf Navigationselemente mithilfe der Sammlung Xrm.Page.ui.navigation.items zugreifen. Wie bei allen Sammlungen im Formular gibt es eine get-Methode und eine forEach-Methode.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Abrufen des Namens eines Navigationselements |
var navItemIds = []; Erstellen eines navItemIds-Arrays, das die Werte id jedes Navigationselements in der Xrm.Page.ui.navigation.items-Sammlung enthält. |
|
Rufen Sie die Bezeichnung eines Navigationselements ab. |
var navAddressesLabel = Xrm.Page.ui.navigation.items.get("navAddresses").getLabel(); Weisen Sie die Bezeichnung für das Navigationselement Weitere Adressen der Variablen navAddressesLabel zu. |
|
Festlegen der Bezeichnung eines Navigationselements |
Xrm.Page.ui.navigation.items.get("navAddresses").setLabel("Other Addresses"); Ändern der Navigationselementbeschriftung Weitere Adressen auf Sonstiges Adressen. |
|
Anzeigen oder ausblenden eines Navigationselements |
Xrm.Page.ui.navigation.items.get("navAddresses").setVisible(false); Blenden Sie das Navigationselement More Addresses aus. |
|
Ermitteln, ob ein Navigationselement angezeigt wird |
var moreAddressesVisible = Xrm.Page.ui.navigation.items.get("navAddresses").getVisible() Weisen Sie einen Boolean-Wert der Variablen moreAddressesVisible zu, um darzustellen, ob das Navigationselement Weitere Adressen angezeigt wird. |
|
Legen Sie den Fokus auf ein Navigationselement fest. |
Xrm.Page.ui.navigation.items.get("navAddresses").setFocus(); Legen Sie den Fokus auf das Navigationselement Weitere Adressen fest. |
In diesem Thema
Registerkarten und Abschnitte
Jedes Formular verfügt über eine Sammlung von Registerkarten. Jede Registerkarte hat eine Sammlung von Abschnitten. Jeder Abschnitt hat eine Sammlung von Steuerelementen. Sie können auf diese Elemente programmgesteuert zugreifen und ihre Methoden verwenden.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Ermitteln, ob eine Registerkarte erweitert oder reduziert wurde |
var isGeneralTabExpanded = (Xrm.Page.ui.tabs.get("general").getDisplayState() == "expanded") Weisen Sie einen Boolean Wert der Variablen isGeneralTabExpanded-zu, der angibt, ob die Registerkarte Allgemein erweitert wurde. |
|
Erweitern oder Reduzieren einer Registerkarte |
Xrm.Page.ui.tabs.get("general").setDisplayState("collapsed"); Reduzieren Sie die Registerkarte Allgemein. |
|
Ermitteln, ob eine Registerkarte sichtbar ist |
var isGeneralTabVisible = Xrm.Page.ui.tabs.get("general").getVisible(); Weisen Sie einen Boolean Wert der Variablen isGeneralTabVisible-zu, der angibt, ob die Registerkarte Allgemein sichtbar ist. |
|
Ein- oder Ausblenden einer Registerkarte |
Xrm.Page.ui.tabs.get("general").setVisible(false); Verbergen Sie die Registerkarte Allgemein. |
|
Abrufen der Beschriftung für eine Registerkarte |
var generalTabLabel = Xrm.Page.ui.tabs.get("general").getLabel(); Weisen Sie der Registerkartenbeschriftung Allgemein der Variablen generalTabLabel zu. |
|
Ändern der Bezeichnung für eine Registerkarte |
Xrm.Page.ui.tabs.get("general").setLabel("Major"); Ändern der Registerkartenbeschriftung Allgemein auf Wichtig. |
|
Festlegen des Fokus auf eine Registerkarte |
Xrm.Page.ui.tabs.get("general").setFocus(); Legen Sie den Fokus auf die Registerkarte Allgemein fest. |
|
Abrufen des Namens der Registerkarte |
var firstTabName = Xrm.Page.ui.tabs.get(0).getName(); Weisen Sie den Namen der ersten Registerkarte der Variable firstTabName zu. |
|
Abrufen der übergeordneten Registerkarte eines Abschnitts |
Xrm.Page.getControl("industrycode").getParent().getParent().setFocus(); Legen Sie den Fokus auf der Registerkarte fest, die das Feld Branche enthält. |
|
Ermitteln, ob ein Abschnitt angezeigt wird |
var industrySectionVisible = Xrm.Page.getControl("industrycode").getParent().getVisible(); Weisen Sie einen Boolean-Werts zum Angeben der Variablen industrySectionVisible zu, der angibt, ob der Abschnitt mit dem Feld Branche angezeigt wird. |
|
Ein- oder Ausblenden eines Abschnitts |
Xrm.Page.getControl("industrycode").getParent().setVisible(false); Blenden Sie den Abschnitt mit dem Feld Branche aus. |
|
Abrufen der Beschriftung für einen Abschnitt |
var industryFieldSectionLabel = Xrm.Page.getControl("industrycode").getParent().getLabel(); Weisen Sie die Beschriftung des Abschnitts mit dem Feld Branche der Variablen industryFieldSectionLabel zu. |
|
Ändern einer Bezeichnung für einen Abschnitt |
Xrm.Page.getControl("industrycode").getParent().setLabel("Detailed Information"); Ändern Sie der Bezeichnung des Abschnitts mit dem Feld Branche auf Ausführliche Informationen. |
In diesem Thema
Hinzufügen oder Entfernen von Ereignishandlern zur Laufzeit
Ereignishandler werden meist mithilfe des Formular-Editors in der Anwendung konfiguriert, Sie können sie jedoch auch mithilfe von APIs dem Formular OnSave-Ereignis und dem Attribut OnChange-Ereignisse zur Laufzeit hinzufügen. Die Beispiele in diesem Abschnitt beziehen sich auf die folgende Funktionsdefinition:
function myFunction() {
//perform action here
}
Obwohl Sie eine anonyme Funktion hinzufügen können, muss die Funktion einen Namen zum Verweisen haben, damit sie entfernt werden kann.
Aufgabe |
Methode |
Beispiel |
---|---|---|
Hinzufügen einer Funktion zum Ereignis OnSave |
Xrm.Page.data.entity.addOnSave(myFunction); Fügen Sie die Funktion myFunction dem Ereignis OnSave hinzu. |
|
Entfernen einer Funktion aus dem Ereignis OnSave |
Xrm.Page.data.entity.removeOnSave(myFunction); Entfernen Sie die Funktion myFunction aus dem OnSave-Ereignis. |
|
Fügen Sie eine Funktion dem OnChange-Ereignis eines Attributes hinzu. |
Xrm.Page.getAttribute("name").addOnChange(myFunction); Fügen Sie die myFunction-Funktion dem Ereignis OnChange des Felds Firmenname hinzu. |
|
Entfernen Sie eine Funktion aus dem OnChange-Ereignis eines Attributes. |
Xrm.Page.getAttribute("name").removeOnChange(myFunction); Entfernen Sie die myFunction-Funktion aus dem Ereignis OnChange des Felds Firmenname. |
|
Eine Funktion dem PreSearch-Ereignis eines Suchen-Steuerelements hinzufügen |
Das folgende Codebeispiel wird für die Suche des Verkaufschance-Formulars Firma (parentaccountid) bereitgestellt. Wenn die Sdk.setParentAccountIdFilter-Funktion im Onload-Formularereignishandler festgelegt ist, wird die Sdk.filterCustomAccounts-Funktion zum PreSearch-Ereignis für diese Suche hinzugefügt. Das Ergebnis ist, dass nur Firmen mit dem Kategorie (accountcategorycode)-Wert Bevorzugter Kunde (1) zurückgegeben werden.
|
Verwenden Sie OnStageChange-Ereignis und OnStageSelected-Ereignis für Ereignisse, die in der Geschäftsprozessflusssteuerung auftreten. Diese Ereignisse haben nur Methoden zum programmgesteuerten Hinzufügen und Entfernen von Ereignishandlern.Weitere Informationen:Möglichkeiten zum Verwalten von Ereignishandlern.
In diesem Thema
Kontextbezogene Informationsmethoden
Verwenden Sie diese Methoden, um Informationen zum Benutzer, der Organisation und dem Client zu erhalten. Die folgende Tabelle bietet einige der hilfreichsten Kontextmethoden. Informationen zu allen Kontextmethoden finden Sie unter Clientseitiger Kontext (clientseitige Referenz)
Aufgabe |
Methode |
Beispiel |
---|---|---|
Rufen Sie die URL ab, um eine Verbindung zu der Organisation herzustellen. |
var serverUrl = Xrm.Page.context.getClientUrl(); Weisen sie eine Zeichenfolge, die die URL darstellt, der Variablen serverUrl zu. |
|
Rufen Sie den eindeutigen Bezeichner für den aktuellen Benutzer ab. |
var userId = Xrm.Page.context.getUserId(); Weisen sie eine Zeichenfolge, die die Benutzer-ID darstellt der Variablen userId zu. |
|
Rufen Sie den Namen des aktuellen Benutzers ab. |
var userName = Xrm.Page.context.getUserName(); Weisen sie eine Zeichenfolge, die den Namen des Benutzer darstellt, der Variablen userName zu. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Rufen Sie den Sprachcode ab, der die bevorzugte Sprache der Benutzeroberfläche des Benutzers darstellt. |
var userLCID = Xrm.Page.context.getUserLcid(); Weisen Sie eine Zahl, die die bevorzugte Sprache des Benutzers angibt, der Variablen userLCID zu. |
|
Rufen Sie ein Zeichenfolgenarray ab, das die GUID-Werte für jede Sicherheitsrolle darstellt, die dem aktuellen Benutzer und jedem Team, dem der Benutzer angehört, zugeordnet ist. |
var userRoles = Xrm.Page.context.getUserRoles(); Weisen Sie ein Zeichenfolgenarray, das die Sicherheitsrollen des Benutzers darstellt, der Variablen userRoles zu. |
|
Bestimmen Sie, ob das Skript im Microsoft Dynamics CRM für Outlook-Client ausgeführt wird. |
var isOutlookClient = (Xrm.Page.context.client.getClient() == "Outlook"); Weisen Sie einen Boolean-Wert, der darstellt, ob Ihr Code im Dynamics CRM für Outlook-Client ausgeführt wird, der isOutlookClient-Variablen zu. |
|
Bestimmen Sie, ob der Benutzer mit dem Microsoft Dynamics CRM für Microsoft Office Outlook mit Offlinezugriff Client offline arbeitet. |
var IsOffline = (Xrm.Page.context.client.getClientState() == "Offline"); Weisen Sie einen Boolean-Wert, der darstellt, ob der Benutzer aktuell offline arbeitet der IsOffline-Variablen zu. |
In diesem Thema
Daten abrufen, aktualisieren oder speichern
Die folgende Tabelle umfasst Methoden, die Sie verwenden können, um Informationen zum über den aktuellen Datensatze zu erhalten oder Änderungen zu speichern. Weitere Informationen finden Sie unter Xrm.Page.data.entity (clientseitige Referenz) und Xrm.Page.data (clientseitige Referenz).
Aufgabe |
Methode |
Beispiel |
---|---|---|
Abrufen des logischen Namens der zu erstellenden Entität |
var entityName = Xrm.Page.data.entity.getEntityName(); Weisen Sie den logischen Entitätsnamen der Variablen entityName zu. |
|
Rufen Sie den Wert für das primäre Attribut für die aktuelle Entität ab. |
var primaryAttributeValue = Xrm.Page.data.entity.getPrimaryAttributeValue(); Weisen Sie den Wert des primären Attributs der primaryAttributeValue-Variablen zu. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Abrufen der Id des aktuellen Datensatzes |
var recordId = Xrm.Page.data.entity.getId(); Weisen Sie die id des Datensatzes der Variablen recordId zu. |
|
Aktualisieren Sie die Daten des Formulars asynchron ohne die Seite erneut zu laden. |
Xrm.Page.data.refresh(); Aktualisiert die Daten im Formular. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
|
Speichern des aktuellen Datensatzes |
Xrm.Page.data.entity.Speichern |
Xrm.Page.data.entity.save(); Speichert den Datensatz. Es gibt optionale Argumente. Verwenden Sie saveandclose oder saveandnew, um die entsprechenden Aktionen auszuführen. |
Speichern Sie den aktuellen Datensatz asynchron mit der Option, um die |
Xrm.Page.data.Speichern |
Xrm.Page.data.save().then( Speichert den Datensatz und zeigt die Meldung an, die den Status des Speichervorgangs anzeigt. Diese Methode ist nur für Aktualisierte Entitäten verfügbar. |
Bestimmen Sie, ob die Daten im aktuellen Datensatz geändert wurden. |
var isDirty = Xrm.Page.data.entity.getIsDirty(); Weisen Sie eines Boolean-Werts, der darstellt, ob der im Datensatz geändert wurde, der Variablen isDirty zu. |
|
Rufen Sie eine Zeichenfolge ab, die die Daten darstellt, die zum Server gesendet werden, wenn der Datensatz gespeichert wird. |
var dataXml = Xrm.Page.data.entity.getDataXml(); Weisen sie eine Zeichenfolge, die die zu speichernden Daten darstellt, der Variablen dataXml zu. |
In diesem Thema
Siehe auch
Verwenden des Xrm.Page-Objektmodells
Schreiben von Code für Microsoft Dynamics CRM 2015-Formulare
Cclientseitige Programmierreferenz
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright