Partager via


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