Freigeben über


Rasterobjekte (schreibgeschützt)und -Methoden (clientseitige Referenz)

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Sie können Ereignishandler festlegen, um Skripts auszuführen, wenn Daten in Unterrastern geladen werden. Dadurch werden Methoden zur Verfügung gestellt, die ausgewählte Ansicht zu ändern und Verweise auf Daten zu bekommen, die im Raster angezeigt werden.

In diesem Thema

  • GridControl
    Ereignisse und Methoden für GridControl: OnLoad-Ereignis, addOnLoad, getEntityName, getGrid, getViewSelector und removeOnLoad.

  • Raster
    Methoden für Grid, die von der Methode GridControl.getGrid zurückgegeben werden: getRows, getSelectedRows und getTotalRecordCount.

  • GridRow
    Die Methode getData für GridRow, die von den Methoden Grid.getRows und Grid.getSelectedRows zurückgegeben wird.

  • GridRowData
    Die Methode getEntity für GridRowData, die von der Methode GridRow.getData zurückgegeben wird.

  • GridEntity
    Methoden für GridEntity, die von der Methode GridRowData.getEntity zurückgegeben wird: getEntityName, getEntityReference, getId und getPrimaryAttributeValue.

  • ViewSelector
    Methoden für ViewSelector, die von GridControl.getViewSelector, getCurrentView, isVisible und setCurrentView zurückgegeben werden.

GridControl

Vor CRM Online 2015-Update 1 war refresh die einzige Methode für das Unterrastersteuerelement. Wenn Sie den Namen des Unterrastersteuerelements kennen, können Sie mithilfe des folgenden Code darauf zugreifen, beispielsweise um auf das Unterraster KONTAKTE im Standardfirmenformular zuzugreifen.

var contactsSubgrid = Xrm.Page.getControl("Contacts");

Tipp

Wenn Sie die Namen von Unterrastersteuerelement im Formular identifizieren möchten, ohne den Formular-Editor zu öffnen, finden Sie Informationen unter Verwenden von Browserentwicklertools.

Als Xrm.Page.ui-Steuerelement hat GridControl auch alle standardmäßigen Steuerelementmethoden: getControlType, Beschriftung-Methoden, getParent, Sichtbar-Methoden, setFocus und Benachrichtigung-Methoden sowie refresh. Weitere Informationen zu diesen Methoden finden Sie unter Xrm.Page.ui-Steuerelement (clientseitige Referenz).

OnLoad-Ereignis

Fügen Sie Ereignishandler zu diesem Ereignis hinzu, damit es bei jeder Unterrasteraktualisierung ausgeführt wird. Dies gilt auch dann, wenn Benutzer die Werte sortieren, indem sie auf die Spaltenüberschriften klicken. Verwenden Sie die Methoden GridControl.addOnLoad und GridControl.removeOnLoad, um Ereignishandler zu verwalten, in der Regel im Ereignis Onload.

addOnLoad

Verwenden Sie diese Methode, um Ereignishandler zu GridControlOnLoad-Ereignis hinzuzufügen.

Parametertyp: Funktion

Beispiel: Fügen Sie die myContactsGridOnloadFunction-Funktion im Ereignis OnLoad des Kontakteunterrasters hinzu.

var myContactsGridOnloadFunction = function () { console.log("Contacts Subgrid OnLoad occurred") };
Xrm.Page.getControl("Contacts").addOnLoad(myContactsGridOnloadFunction);

getEntityName

Verwenden Sie diese Methode, um den logischen Namen der Entitätsdaten zu erhalten, die im Raster angezeigt werden.

Typ des Rückgabewerts: Zeichenfolge

Beispiel: Setzen Sie die opportunitySubgrids-Variable auf ein Array von Unterrastersteuerelementen, die Verkaufschancendatensätze anzeigen.

var opportunitySubgrids = Xrm.Page.getControl(function (ctrl, i) {
 if (ctrl.getControlType() == "subgrid") {
  return (ctrl.getEntityName() == "opportunity");
 }
 else {
  return false;
 }
})

getGrid

Verwenden Sie diese Methode, um Zugriff auf das Raster zu erhalten, das in GridControl verfügbar ist.

Typ des Rückgabewerts: Raster

Beispiel: Setzen Sie die contactsSubgridGrid-Variable auf das Raster im Kontakteunterraster.

var contactsSubgridGrid = Xrm.Page.getControl("Contacts").getGrid();

getViewSelector

Verwenden Sie diese Methode, um Zugriff auf die ViewSelector zu erhalten, die für GridControl verfügbar ist.

Typ des Rückgabewerts: ViewSelector

Beispiel: Setzen Sie die contactsSubgridViewSelector-Variable auf die Ansichtauswahl im Kontakteunterraster.

var contactsSubgridViewSelector = Xrm.Page.getControl("Contacts").getViewSelector();

removeOnLoad

Verwenden Sie diese Methode, um Ereignishandler aus dem GridControlOnLoad-Ereignis zu entfernen.

Parametertyp: Funktion

Beispiel: Fügen Sie die myContactsGridOnloadFunction-Funktion zum Contacts-Unterraster OnLoad-Erreignis hinzu und entfernen Sie es dann.

var myContactsGridOnloadFunction = function () { console.log("Contacts Subgrid OnLoad occurred") };
Xrm.Page.getControl("Contacts").addOnLoad(myContactsGridOnloadFunction);
Xrm.Page.getControl("Contacts").removeOnLoad(myContactsGridOnloadFunction);

Raster

Verwenden Sie die Grid-Methoden, um auf Informationen über Daten im Raster zuzugreifen.Grid wird von der GridControl.getGrid-Methode zurückgegeben.

getRows

Gibt eine Sammlung von jeder GridRow im Grid zurück.

Typ des Rückgabewerts: Sammlung

Beispiel: Setzen Sie die allRows-Variable auf die Sammlung von GridRow aus dem Contacts-Unterraster.

var allRows = Xrm.Page.getControl("Contacts").getGrid().getRows();

Anmerkungen:

Siehe Sammlungen (clíentseitige Referenz) für Informationen zu Methoden zum Zugreifen auf Daten in einer Sammlung.

getSelectedRows

Gibt eine Sammlung von jeder ausgewählten GridRow im Grid zurück.

Typ des Rückgabewerts: Sammlung

Beispiel: Ausfüllen der selectedEntityReferencesArray-Variablen mit Entitätsverweisen für ausgewählte Zeilen aus dem Kontakte-Unterraster.

//Get an array of entity references for all selected rows in the subgrid
var selectedEntityReferences = [];
var selectedRows = Xrm.Page.getControl("Contacts").getGrid().getSelectedRows();
selectedRows.forEach(function (selectedRow, i) {
 selectedEntityReferences.push(selectedRow.getData().getEntity().getEntityReference());
});

Anmerkungen:

Siehe Sammlungen (clíentseitige Referenz) für Informationen zu Methoden zum Zugreifen auf Daten in einer Sammlung.

getTotalRecordCount

In der Webanwendung oder im Dynamics 365 für Outlook-Client (mit dem Server verbunden) gibt diese Methode die Gesamtanzahl von Datensätzen zurück, die den Filterkriterien der Ansicht entsprechen. Es besteht keine Einschränkung durch die maximal Anzahl an Datensätzen, die auf einer einzigen Seite angezeigt werden können.

Wenn der Dynamics 365 für Outlook-Client nicht mit dem Server verbunden ist, ist diese Anzahl auf die Datensätze beschränkt, die der Benutzer für den Offlinemodus ausgewählt hat.

Für Microsoft Dynamics 365 für Tablets und Microsoft Dynamics 365 für Telefone gibt diese Methode die Anzahl von Datensätzen im Unterraster zurück.

Typ des Rückgabewerts: Zahl

Beispiel: Setzen Sie die filteredRecordCount-Variable auf die Gesamtanzahl von Datensätzen, die den Filterkriterien der Ansicht entsprechen.

var filteredRecordCount = Xrm.Page.getControl("Contacts").getGrid().getTotalRecordCount();

GridRow

Verwenden Sie die Methode GridRow.getData für den Zugriff auf GridRowData. Eine Sammlung von GridRow wird von den Methoden Grid.getRows und Grid.getSelectedRows zurückgegeben.

getData

Gibt GridRowData für GridRow zurück.

Typ des Rückgabewerts: GridRowData

Beispiel: Ausfüllen der allGridRowDataArray-Variablen mit GridRowData für alle Zeilen aus dem Kontakte-Unterraster.

var allGridRowData = [];
var rows = Xrm.Page.getControl("Contacts").getGrid().getRows();
rows.forEach(function (row, i) {
 allGridRowData.push(row.getData());
});

GridRowData

Verwenden Sie die Methode GridRowData.getEntity für den Zugriff auf GridEntity.GridRowData wird von der GridRow.getData-Methode zurückgegeben.

getEntity

Gibt GridEntity für GridRowData zurück.

Typ des Rückgabewerts: GridEntity

Beispiel: Ausfüllen der allGridEntitiesArray-Variablen mit GridEntity für alle Zeilen aus dem Kontakte-Unterraster.

var allGridEntities = [];
var rows = Xrm.Page.getControl("Contacts").getGrid().getRows();
rows.forEach(function (row, i) {
 allGridEntities.push(row.getData().getEntity());
});

GridEntity

Verwenden Sie die Methoden GridEntity für den Zugriff auf Daten zu den spezifischen Datensätzen in den Zeilen.GridEntity wird von der GridRowData.getEntity-Methode zurückgegeben.

getEntityName

Gibt den logischen Namen für den Datensatztyp in der Zeile zurück.

Typ des Rückgabewerts: Zeichenfolge

Beispiel: Setzen der firstEntityType-Variablen auf den Wert des logischen Namens der Entität für die erste Zeile im Kontakteunterraster.

var firstEntityType = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getEntityName();
// firstEntityType == "contact"

getEntityReference

Typ des Rückgabewerts: Suche

Beispiel: Setzen der firstEntityType-Variablen auf die Entitätsreferenz für die erste Zeile im Kontakteunterraster.

var firstEntityReference = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getEntityReference();
// firstEntityReference.entityType == "contact"
// firstEntityReference.id == "{13CD16BD-3EC4-E411-80CF-00155DB58496}"
// firstEntityReference.name == "Rene Valdes (sample)"

Anmerkungen:

Diese Suche bietet folgende Eigenschaften:

Name

Typ

Beschreibung

entityType

Zeichenfolge

Der logische Name für den Datensatz in der Zeile. Die gleichen Daten werden von der Methode GridEntity.getEntityName zurückgegeben.

id

Zeichenfolge

Die ID für den Datensatz in der Zeile. Die gleichen Daten werden von der Methode GridEntity.getId zurückgegeben.

Name

Zeichenfolge

Der primäre Attributwert für den Datensatz in der Zeile. Die gleichen Daten werden von der Methode GridEntity.getPrimaryAttributeValue zurückgegeben.

getId

Gibt die ID für den Datensatz in der Zeile zurück.

Typ des Rückgabewerts: Zeichenfolge

Beispiel: Setzen der firstEntityId-Variablen auf den Wert der ID des Datensatzes aus der ersten Zeile im Kontakteunterraster.

var firstEntityId = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getId();
// firstEntityId == "{13CD16BD-3EC4-E411-80CF-00155DB58496}"

getPrimaryAttributeValue

Gibt den primären Attributwert für den Datensatztyp in der Zeile zurück.

Typ des Rückgabewerts: Zeichenfolge

Beispiel: Setzen Sie die currentView-Variable auf die aktuelle Ansicht der Ansichtauswahl für das Kontakteunterraster.

var firstEntityPrimaryAttributeValue = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getPrimaryAttributeValue();
// firstEntityPrimaryAttributeValue == "Rene Valdes (sample)"

ViewSelector

Verwenden Sie die ViewSelector-Methoden, um Informationen zur Ansichtsauswahl des Unterrastersteuerelements abzurufen oder festzulegen.

Hinweis

Wenn das Unterrastersteuerelement nicht so konfiguriert ist, dass die Ansichtsauswahl angezeigt wird, wird durch Aufrufen der ViewSelector-Methoden ein Fehler ausgelöst.

getCurrentView

Verwenden Sie diese Methode, um einen Verweis auf die aktuelle Ansicht abzurufen.

Typ des Rückgabewerts: Suchobjekt

Beispiel: Setzen Sie die currentView-Variable auf die aktuelle Ansicht der Ansichtauswahl für das Kontakteunterraster.

var currentView = Xrm.Page.getControl("Contacts").getViewSelector().getCurrentView();

Anmerkungen:

Wenn das Unterrastersteuerelement nicht so konfiguriert ist, dass die Ansichtsauswahl angezeigt wird, wird durch Aufrufen dieser Methode für die ViewSelector, die von der Methode GridControl.getViewSelector zurückgegeben wird, ein Fehler ausgelöst.

isVisible

Verwenden Sie diese Methode, um zu bestimmen, ob die Ansichtsauswahl angezeigt wird.

Typ des Rückgabewerts: Boolesch

Beispiel: Setzen Sie die viewSelectorIsVisible-Variable auf den Sichtbarkeitsstatus der Ansichtauswahl für das Kontakteunterraster.

var viewSelectorIsVisible = Xrm.Page.getControl("Contacts").getViewSelector().isVisible();

Anmerkungen:

Wenn das Unterrastersteuerelement nicht so konfiguriert ist, dass die Ansichtsauswahl angezeigt wird, wird durch Aufrufen dieser Methode für die ViewSelector, die von GridControl.getViewSelector zurückgegeben wird, ein Fehler ausgelöst.

setCurrentView

Verwenden Sie diese Methode, um die aktuelle Ansicht festzulegen.

Parametertyp: Suchobjekt

Beispiel: Setzen Sie die ContactsIFollow-Variable auf die aktuelle Ansicht des Kontakteunterrasters.

var ContactsIFollow = {
 entityType: 1039, // SavedQuery
 id:"{3A282DA1-5D90-E011-95AE-00155D9CFA02}", 
 name: "Contacts I Follow"
}
//Set the view using ContactsIFollow
Xrm.Page.getControl("Contacts").getViewSelector().setCurrentView(ContactsIFollow);

Anmerkungen:

Wenn das Unterrastersteuerelement nicht so konfiguriert ist, dass die Ansichtsauswahl angezeigt wird, wird durch Aufrufen dieser Methode für die ViewSelector, die von GridControl.getViewSelector zurückgegeben wird, ein Fehler ausgelöst.

Diese Suche bietet folgende Eigenschaften:

Name

Typ

Beschreibung

entityType

Anzahl

Der Objekttypcode für SavedQuery (1039) oder UserQuery (4230), der die Ansicht repräsentiert, die der Benutzer auswählen kann.

ID

Zeichenfolge

Die ID für die Ansicht, die der Benutzer auswählen kann.

Name

Zeichenfolge

Der Name der Ansicht, die der Benutzer auswählen kann.

Siehe auch

Schreiben von Skripts für Unterraster
Xrm.Page.ui-Steuerelement (clientseitige Referenz)
Sammlungen (clíentseitige Referenz)
Cclientseitige Programmierreferenz
Schreiben von Code für Microsoft Dynamics 365-Formulare
Erweitern von Microsoft Dynamics 365 auf dem Client

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright