Oggetti e metodi (sola lettura) della griglia (riferimento lato client)

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Puoi impostare dei gestori eventi per eseguire gli script quando i dati vengono caricati in griglie secondarie. In questo modo, puoi modificare la visualizzazione selezionata per recuperare i riferimenti ai dati visualizzati nella griglia.

In questo argomento

  • GridControl
    Eventi e metodi per GridControl: Evento OnLoad, addOnLoad, getEntityName, getGrid, getViewSelector e removeOnLoad.

  • Griglia
    I metodi per Grid restituiti dal metodo GridControl.getGrid: getRows, getSelectedRows e getTotalRecordCount.

  • GridRow
    Il metodo getData per GridRow restituito dai metodi Grid.getRows e Grid.getSelectedRows.

  • GridRowData
    Il metodo getEntity per GridRowData restituito dal metodo GridRow.getData.

  • GridEntity
    I metodi per GridEntity restituito dal metodo GridRowData.getEntity: getEntityName, getEntityReference, getId e getPrimaryAttributeValue.

  • ViewSelector
    I metodi per ViewSelector restituito da GridControl.getViewSelector, getCurrentView, isVisible e setCurrentView

GridControl

Prima di Aggiornamento 1 di CRM Online 2015, l'unico metodo univoco per il controllo della griglia secondaria era refresh. Se conosci il nome del controllo della griglia secondaria puoi accedervi tramite il codice seguente, ad esempio per accedere la griglia secondaria CONTATTI nel modulo dell'account predefinito.

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

Suggerimento

Per individuare i nomi dei controlli della griglia secondaria nel modulo senza aprire l'editor dei moduli, vedi le informazioni disponibili in Utilizzare gli strumenti per sviluppatori di browser.

Come per un controllo Xrm.Page.ui, anche GridControl dispone di tutti i metodi di controllo standard: i metodi getControlType, Etichetta, i metodi getParent, Visibile, i metodi setFocus e Notifica oltre a refresh. Per ulteriori informazioni su questi metodi, vedi Controllo Xrm.Page.ui (riferimento lato client).

Evento OnLoad

Aggiungi all'evento gestori eventi da eseguire ogni volta che la griglia secondaria viene aggiornata. Ciò include quando gli utenti ordinano i valori facendo clic sulle intestazioni di colonna. Utilizza i metodi GridControl.addOnLoad e GridControl.removeOnLoad per gestire i gestori eventi, di solito nell'evento Onload del modulo.

addOnLoad

Utilizza questo metodo per aggiungere gestori di eventi a GridControlEvento OnLoad.

Tipo di parametro: funzione

Esempio: aggiungere la funzione myContactsGridOnloadFunction all'evento OnLoad della griglia secondaria Contatti.

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

getEntityName

Utilizza questo metodo per ottenere il nome logico dei dati dell'entità visualizzati nella griglia.

Tipo di valore restituito: stringa

Esempio: impostare la variabile opportunitySubgrids su una matrice dei controlli della griglia secondaria che visualizzano i record di opportunità.

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

getGrid

Utilizza questo metodo per ottenere l'accesso a Griglia disponibile in GridControl.

Tipo di valore restituito:Griglia

Esempio: impostare la variabile contactsSubgridGrid sulla griglia della griglia secondaria Contatti.

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

getViewSelector

Utilizza questo metodo per ottenere l'accesso a ViewSelector disponibile per GridControl.

Tipo di valore restituito:ViewSelector

Esempio: impostare la variabile contactsSubgridViewSelector sul selettore di visualizzazione della griglia secondaria Contatti.

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

removeOnLoad

Utilizza questo metodo per rimuovere gestori di eventi da GridControlEvento OnLoad.

Tipo di parametro: funzione

Esempio: aggiungi la funzione myContactsGridOnloadFunction all'evento OnLoad della griglia secondaria Contacts e rimuovila.

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

Griglia

Utilizzare i metodi Grid per accedere alle informazioni sui dati nella griglia.Grid viene restituito dal metodo GridControl.getGrid.

getRows

Restituisce una raccolta per ogni GridRow in Grid.

Tipo di valore restituito: raccolta

Esempio: imposta la variabile allRows su una raccolta di GridRow dalla griglia secondaria Contacts.

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

Note:

Vedi Raccolte (riferimento lato client) per informazioni sui metodi disponibili per accedere ai dati in una raccolta.

getSelectedRows

Restituisce una raccolta per ogni GridRow selezionato in Grid.

Tipo di valore restituito: raccolta

Esempio: popolare la variabile selectedEntityReferencesArray con i riferimenti di entità per le righe selezionate dalla griglia secondaria Contatti.

//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());
});

Note:

Vedi Raccolte (riferimento lato client) per informazioni sui metodi disponibili per accedere ai dati in una raccolta.

getTotalRecordCount

Nell'applicazione Web o nel client Dynamics 365 per Outlook connesso al server, questo metodo restituisce il numero totale dei record che corrispondono ai criteri di filtro della visualizzazione, non limitato dal numero visibile in una singola pagina.

Quando il client Dynamics 365 per Outlook non è connesso al server, questo numero è limitato ai record che l'utente ha selezionato per impostarli sulla modalità offline.

Per Microsoft Dynamics 365 per tablet e Microsoft Dynamics 365 per telefoni questo metodo restituirà il numero di record nella griglia secondaria.

Tipo di valore restituito: numero

Esempio: impostare la variabile filteredRecordCount sul numero totale di record che corrispondono ai criteri di filtro della visualizzazione.

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

GridRow

Utilizza il metodo GridRow.getData per accedere a GridRowData. Una raccolta di GridRow viene restituita dai metodi Grid.getRows e Grid.getSelectedRows.

getData

Restituisce GridRowData per GridRow.

Tipo di valore restituito:GridRowData

Esempio: popolare la variabile allGridRowDataArray con GridRowData per tutte le righe dalla griglia secondaria Contatti.

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

GridRowData

Utilizza il metodo GridRowData.getEntity per accedere a GridEntity.GridRowData viene restituito dal metodo GridRow..getData.

getEntity

Restituisce GridEntity per GridRowData.

Tipo di valore restituito:GridEntity

Esempio: popolare la variabile allGridEntitiesArray con GridEntity per tutte le righe dalla griglia secondaria Contatti.

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

GridEntity

Utilizzare i metodi GridEntity per accedere ai dati su record specifici nelle righe.GridEntity viene restituito dal metodo GridRowData..getEntity.

getEntityName

Restituisce il nome logico del record nella riga.

Tipo di valore restituito: stringa

Esempio: impostare la variabile firstEntityType sul valore del nome logico di entità per la prima riga nella griglia secondaria Contatti.

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

getEntityReference

Tipo di valore restituito: ricerca

Esempio: impostare la variabile firstEntityType su un riferimento di entità per la prima riga nella griglia secondaria Contatti.

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)"

Note:

Questa ricerca ha le proprietà seguenti:

Nome

Tipo

Descrizione

entityType

String

Nome logico del record nella riga. Gli stessi dati restituiti dal metodo GridEntity.getEntityName.

ID

String

ID del record nella riga. Gli stessi dati restituiti dal metodo GridEntity.getId.

nome

String

Valore dell'attributo primario del record nella riga. Gli stessi dati restituiti dal metodo GridEntity.getPrimaryAttributeValue.

getId

Restituisce l'ID del record nella riga.

Tipo di valore restituito: stringa

Esempio: impostare la variabile firstEntityId sul valore dell'ID del record dalla prima riga nella griglia secondaria Contatti.

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

getPrimaryAttributeValue

Restituisce il valore dell'attributo primario del record nella riga.

Tipo di valore restituito: stringa

Esempio: impostare la variabile currentView sulla visualizzazione corrente del selettore di visualizzazione per la griglia secondaria Contatti.

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

ViewSelector

Utilizzare i metodi ViewSelector per ottenere o impostare le informazioni sul selettore di visualizzazione del controllo della griglia secondaria.

Nota

Se il controllo della griglia secondaria non è configurato per visualizzare il selettore di visualizzazione, la chiamata ai metodi ViewSelector genererà un errore.

getCurrentView

Utilizza questo metodo per ottenere un riferimento alla visualizzazione corrente.

Tipo di valore restituito: oggetto di ricerca

Esempio: impostare la variabile currentView sulla visualizzazione corrente del selettore di visualizzazione per la griglia secondaria Contatti.

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

Note:

Se il controllo della griglia secondaria non è configurato per visualizzare il selettore di visualizzazione, la chiamata a questo metodo nel ViewSelector restituito dal metodo GridControl.getViewSelector genererà un errore.

isVisible

Utilizza questo metodo per determinare se il selettore di visualizzazione è visibile.

Tipo di valore restituito: booleano

Esempio: impostare la variabile viewSelectorIsVisible per rappresentare lo stato di visibilità del selettore di visualizzazione per la griglia secondaria Contatti.

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

Note:

Se il controllo della griglia secondaria non è configurato per visualizzare il selettore di visualizzazione, la chiamata a questo metodo nel ViewSelector restituito da GridControl.getViewSelector genererà un errore.

setCurrentView

Utilizza questo metodo per impostare la visualizzazione corrente.

Tipo di parametro: oggetto di ricerca

Esempio: impostare la variabile ContactsIFollow in modo da essere la visualizzazione corrente della griglia secondaria Contatti.

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);

Note:

Se il controllo della griglia secondaria non è configurato per visualizzare il selettore di visualizzazione, la chiamata a questo metodo nel ViewSelector restituito da GridControl.getViewSelector genererà un errore.

Questa ricerca ha le proprietà seguenti:

Nome

Tipo

Descrizione

entityType

Numero

Codice del tipo di oggetto per SavedQuery (1039) o UserQuery (4230) che rappresenta la visualizzazione che l'utente può selezionare.

ID

String

ID per la visualizzazione che l'utente può selezionare.

nome

String

Nome della visualizzazione che l'utente può selezionare.

Vedere anche

Scrivere script per le griglie secondarie
Controllo Xrm.Page.ui (riferimento lato client)
Raccolte (riferimento lato client)
Riferimento programmazione sul lato client
Creare il codice per moduli di Microsoft Dynamics 365
Estendere Microsoft Dynamics 365 nel client

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright