Méthodes et objets de grille (lecture seule) (référence côté client)
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Vous pouvez définir des gestionnaires d'événements pour exécuter des scripts lorsque les données sont chargées dans des sous-grilles. Cela fournit des méthodes pour modifier la vue sélectionnée et pour obtenir des références aux données affichées dans la grille.
Contenu de la rubrique
GridControl
Événements et méthodes pour l'objet GridControl : Événement OnLoad, addOnLoad, getEntityName, getGrid, getViewSelector et removeOnLoad.Grille
Méthodes pour l'objet Grid renvoyé par la méthode GridControl.getGrid : getRows, getSelectedRows et getTotalRecordCount.GridRow
La méthode getData pour l'objet GridRow renvoyé par les méthodes Grid.getRows et Grid.getSelectedRows.GridRowData
La méthode getEntity pour l'objet GridRowData renvoyé par la méthode GridRow.getData.GridEntity
Méthodes pour l'objet GridEntity renvoyé par la méthode GridRowData.getEntity : getEntityName, getEntityReference, getId et getPrimaryAttributeValue.ViewSelector
Méthodes pour l'objet ViewSelector renvoyé par GridControl.getViewSelector, getCurrentView, isVisible et setCurrentView
GridControl
Avant Mise à jour 1 de CRM Online 2015, la seule méthode unique du contrôle de sous-grille était refresh. Si vous connaissez le nom du contrôle de sous-grille, vous pouvez y accéder en utilisant le code suivant, par exemple, pour accéder à la sous-grille CONTACTS dans le formulaire de compte par défaut.
var contactsSubgrid = Xrm.Page.getControl("Contacts");
Conseil
Pour identifier les noms des contrôles de sous-grille dans le formulaire sans ouvrir l'éditeur de formulaires, voir les informations dans Utiliser les outils de développement du navigateur.
Comme le contrôle Xrm.Page.ui, GridControl contient également toutes les méthodes de contrôle standard : méthodes getControlType, Étiquette, getParent, méthodes Visible, setFocus et Notification, ainsi que refresh. Pour plus d'informations sur ces méthodes, voir Contrôle Xrm.Page.ui (référence côté client).
Événement OnLoad
Ajoutez des gestionnaires d'événements à cet événement à exécuter chaque fois que la sous-grille s'actualise. Notamment lorsque les utilisateurs trient les valeurs en cliquant sur les en-têtes de colonne. Utilisez les méthodes GridControl.addOnLoad et GridControl.removeOnLoad pour gérer les gestionnaires d'événements, généralement dans le formulaire de l'événement Onload.
addOnLoad
Utilisez cette méthode pour ajouter des gestionnaires d'événements à l'GridControlÉvénement OnLoad.
Type de paramètre : Fonction
Exemple : ajoutez la fonction myContactsGridOnloadFunction à l'événement OnLoad de la sous-grille Contacts.
var myContactsGridOnloadFunction = function () { console.log("Contacts Subgrid OnLoad occurred") };
Xrm.Page.getControl("Contacts").addOnLoad(myContactsGridOnloadFunction);
getEntityName
Utilisez cette méthode pour afficher le nom logique des données d'entité apparaissant dans la grille.
Type de valeur de retour : Chaîne.
Exemple : définissez la variable opportunitySubgrids sur un tableau de contrôles de sous-grille qui affichent les enregistrements d'opportunité.
var opportunitySubgrids = Xrm.Page.getControl(function (ctrl, i) {
if (ctrl.getControlType() == "subgrid") {
return (ctrl.getEntityName() == "opportunity");
}
else {
return false;
}
})
getGrid
Utilisez cette méthode pour obtenir l'accès à l'objet Grille disponible dans l'objet GridControl.
Type de valeur de retour :Grille
Exemple : définissez la variable contactsSubgridGrid sur la grille de la sous-grille Contacts.
var contactsSubgridGrid = Xrm.Page.getControl("Contacts").getGrid();
getViewSelector
Utilisez cette méthode pour obtenir l'accès à l'objet ViewSelector disponible pour l'objet GridControl.
Type de valeur de retour :ViewSelector
Exemple : définissez la variable contactsSubgridViewSelector sur le sélecteur de vue de la sous-grille Contacts.
var contactsSubgridViewSelector = Xrm.Page.getControl("Contacts").getViewSelector();
removeOnLoad
Utilisez cette méthode pour supprimer des gestionnaires d'événements de l'GridControlÉvénement OnLoad.
Type de paramètre : Fonction
Exemple : ajoutez la fonction myContactsGridOnloadFunction à l'événement OnLoad de la sous-grille Contacts, puis supprimez-la.
var myContactsGridOnloadFunction = function () { console.log("Contacts Subgrid OnLoad occurred") };
Xrm.Page.getControl("Contacts").addOnLoad(myContactsGridOnloadFunction);
Xrm.Page.getControl("Contacts").removeOnLoad(myContactsGridOnloadFunction);
Grille
Utilisez les méthodes Grid pour accéder aux informations sur les données de la grille.Grid est renvoyé par la méthode GridControl.getGrid.
getRows
Renvoie une collection de chaque objet GridRow dans la Grid.
Type de valeur de retour : Collection
Exemple : définissez la variable allRows sur une collection de GridRow de la sous-grille Contacts.
var allRows = Xrm.Page.getControl("Contacts").getGrid().getRows();
Remarques :
Consultez Collections (référence côté client) pour plus d'informations sur les méthodes disponibles pour accéder aux données d'une collection.
getSelectedRows
Renvoie une collection de chaque objet GridRow sélectionné dans la Grid.
Type de valeur de retour : Collection
Exemple : remplissez la variable selectedEntityReferencesArray avec des références d'entités pour les lignes sélectionnées dans la sous-grille Contacts.
//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());
});
Remarques :
Consultez Collections (référence côté client) pour plus d'informations sur les méthodes disponibles pour accéder aux données d'une collection.
getTotalRecordCount
Dans l'application Web ou le client Dynamics 365 pour Outlook lors de la connexion au serveur cette méthode renvoie le nombre total d'enregistrements qui correspond aux critères de filtre de la vue, sans limitation par le nombre visible sur une seule page.
Lorsque le client Dynamics 365 pour Outlook n'est pas connecté au serveur, ce nombre est limité à ces enregistrements que l'utilisateur a sélectionné pour le mode hors connexion.
Pour Microsoft Dynamics 365 pour tablettes et Microsoft Dynamics 365 pour téléphones, cette méthode renverra le nombre d'enregistrements dans la sous-grille.
Type de valeur de retour : Nombre
Exemple : définissez la variable filteredRecordCount sur le nombre total d'enregistrements qui correspond aux critères de filtre de la vue.
var filteredRecordCount = Xrm.Page.getControl("Contacts").getGrid().getTotalRecordCount();
GridRow
Utilisez la méthode GridRow.getData pour accéder à l'objet GridRowData. Une collection de GridRow est retournée par les méthodes Grid.getRows et Grid.getSelectedRows.
getData
Renvoie GridRowData pour l'objet GridRow.
Type de valeur de retour :GridRowData
Exemple : remplissez la variable allGridRowDataArray avec GridRowData pour toutes les lignes de la sous-grille Contacts.
var allGridRowData = [];
var rows = Xrm.Page.getControl("Contacts").getGrid().getRows();
rows.forEach(function (row, i) {
allGridRowData.push(row.getData());
});
GridRowData
Utilisez la méthode GridRowData.getEntity pour accéder à l'objet GridEntity.GridRowData est renvoyé par la méthode GridRow.getData.
getEntity
Renvoie GridEntity pour l'objet GridRowData.
Type de valeur de retour :GridEntity
Exemple : remplissez la variable allGridEntitiesArray avec GridEntity pour toutes les lignes de la sous-grille Contacts.
var allGridEntities = [];
var rows = Xrm.Page.getControl("Contacts").getGrid().getRows();
rows.forEach(function (row, i) {
allGridEntities.push(row.getData().getEntity());
});
GridEntity
Utilisez les méthodes GridEntity pour accéder aux données sur des enregistrements spécifiques des lignes.GridEntity est renvoyé par la méthode GridRowData.getEntity.
getEntityName
Renvoie le nom logique de l'enregistrement dans la ligne.
Type de valeur de retour : Chaîne.
Exemple : définissez la variable firstEntityType sur la valeur du nom logique de l'entité pour la première ligne dans la sous-grille Contacts.
var firstEntityType = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getEntityName();
// firstEntityType == "contact"
getEntityReference
Type de valeur de retour : Recherche
Exemple : définissez la variable firstEntityType sur une référence d'entité pour la première ligne dans la sous-grille Contacts.
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)"
Remarques :
Cette recherche contient les propriétés suivantes :
Nom |
Type |
Description |
---|---|---|
entityType |
Chaîne |
Nom logique de l'enregistrement dans la ligne. Les mêmes données sont retournées par la méthode GridEntity.getEntityName. |
id |
Chaîne |
ID de l'enregistrement dans la ligne. Les mêmes données sont retournées par la méthode GridEntity.getId. |
nom |
Chaîne |
Valeur d'attribut principal de l'enregistrement dans la ligne. Les mêmes données sont retournées par la méthode GridEntity.getPrimaryAttributeValue. |
getId
Retourne l'ID de l'enregistrement dans la ligne.
Type de valeur de retour : Chaîne.
Exemple : définissez la variable firstEntityId sur la valeur de l'ID de l'enregistrement pour la première ligne dans la sous-grille Contacts.
var firstEntityId = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getId();
// firstEntityId == "{13CD16BD-3EC4-E411-80CF-00155DB58496}"
getPrimaryAttributeValue
Retourne la valeur d'attribut principal de l'enregistrement dans la ligne.
Type de valeur de retour : Chaîne.
Exemple : définissez la variable currentView sur la vue actuelle du sélecteur de vue pour la sous-grille Contacts.
var firstEntityPrimaryAttributeValue = Xrm.Page.getControl("Contacts").getGrid().getRows().get(0).getData().getEntity().getPrimaryAttributeValue();
// firstEntityPrimaryAttributeValue == "Rene Valdes (sample)"
ViewSelector
Utilisez les méthodes ViewSelector pour obtenir ou définir des informations sur le sélecteur de vue du contrôle de sous-grille.
Notes
Si le contrôle de sous-grille n'est pas configuré pour afficher le sélecteur de vue, l'appel des méthodes ViewSelector génèrera une erreur.
getCurrentView
Utilisez cette méthode pour obtenir une référence à la vue active.
Type de valeur de retour : objet de recherche
Exemple : définissez la variable currentView sur la vue actuelle du sélecteur de vue pour la sous-grille Contacts.
var currentView = Xrm.Page.getControl("Contacts").getViewSelector().getCurrentView();
Remarques :
Si le contrôle de sous-grille n'est pas configuré pour afficher le sélecteur de vue, l'appel de cette méthode sur l'objet ViewSelector renvoyé par la méthode GridControl.getViewSelector génèrera une erreur.
isVisible
Utilisez cette méthode pour déterminer si le sélecteur de vue est visible.
Type de valeur de retour : Booléen
Exemple : définissez la variable viewSelectorIsVisible pour représenter le statut de visibilité du sélecteur de vue pour la sous-grille Contacts.
var viewSelectorIsVisible = Xrm.Page.getControl("Contacts").getViewSelector().isVisible();
Remarques :
Si le contrôle de sous-grille n'est pas configuré pour afficher le sélecteur de vue, l'appel de cette méthode sur l'objet ViewSelector renvoyé par GridControl.getViewSelector génèrera une erreur.
setCurrentView
Utilisez cette méthode pour définir la vue active.
Type de paramètre : Objet de recherche
Exemple : définissez la variable ContactsIFollow pour en faire la vue active de la sous-grille Contacts.
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);
Remarques :
Si le contrôle de sous-grille n'est pas configuré pour afficher le sélecteur de vue, l'appel de cette méthode sur l'objet ViewSelector renvoyé par GridControl.getViewSelector génèrera une erreur.
Cette recherche contient les propriétés suivantes :
Nom |
Type |
Description |
---|---|---|
entityType |
Numéro |
Code de type d'objet pour SavedQuery (1039) ou UserQuery (4230) représentant la vue que l'utilisateur peut sélectionner. |
Id |
Chaîne |
ID de la vue que l'utilisateur peut sélectionner. |
nom |
Chaîne |
Nom de la vue que l'utilisateur peut sélectionner. |
Voir aussi
Écriture de scripts pour les sous-grilles
Contrôle Xrm.Page.ui (référence côté client)
Collections (référence côté client)
Référence par programmation côté client
Écrire du code pour les formulaires Microsoft Dynamics 365
Étendre Microsoft Dynamics 365 sur le client
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright