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