Del via


Skrivebeskyttede gitterobjekter og -metoder (klientsidereference)

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Du kan angive hændelseshandlere til at køre scripts, når data indlæses i undergitre. Dette giver metoder til at ændre den valgte visning og få referencer til data, der vises i gitteret.

Dette emne indeholder

  • GridControl
    Hændelser og metoder til GridControl: OnLoad-hændelse, addOnLoad, getEntityName, getGrid, getViewSelector og removeOnLoad.

  • Gitter
    Metoder til Grid returneret af GridControl.getGrid-metoden: getRows, getSelectedRows og getTotalRecordCount.

  • GridRow
    getData-metoden til GridRow returneret af Grid.getRows ogGrid.getSelectedRows metoderne.

  • GridRowData
    getEntity-metoden til GridRowData returneret af GridRow.getData-metoden.

  • GridEntity
    Metoder til GridEntity returneret af GridRowData.getEntity metoden: getEntityName, getEntityReference, getId og getPrimaryAttributeValue.

  • ViewSelector
    Metoder til ViewSelector returneret af GridControl.getViewSelector, getCurrentView, isVisible og setCurrentView

GridControl

Før Opdatering 1 til CRM Online 2015 var den eneste unikke metode til undergitterkontrolelementet refresh. Når du kender navnet på undergitterkontrolelementet, kan du åbne det ved hjælp af følgende kode, for eksempel for at få adgang til KONTAKTER-undergitteret i standardkontoformularen.

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

Tip

Hvis du vil identificere navnene på undergitter kontrolelementerne i formularen uden at åbne formulareditoren, skal du se oplysningerne i Brug browserens udviklingsværktøjer.

Som Xrm.Page.ui-kontrolelement har GridControl også alle de almindelige kontrolelementmetoder: getControlType, Etiket metoder, getParent, Synlig metoder, setFocus og Besked metoder samt refresh. Du kan finde flere oplysninger om disse metoder under Kontrolelementet Xrm.Page.ui (klientsidereference).

OnLoad-hændelse

Tilføj hændelseshandlere til denne hændelse, som skal køre hver gang undergitteret opdateres. Dette sker også, når brugere sorterer værdierne ved at klikke på kolonneoverskrifterne. Brug GridControl.addOnLoad og GridControl.removeOnLoad metoderne til at administrere hændelseshandlere, normalt i formularens Onload-hændelse.

addOnLoad

Brug denne metode til at tilføje hændelseshandlere til GridControlOnLoad-hændelse.

Parametertype: Funktion

Eksempel: Tilføj myContactsGridOnloadFunction funktionen til OnLoad-hændelsen i Kontakter-undergitteret.

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

getEntityName

Brug denne metode til at hente det logiske navn på objektdataene, som vises i gitteret.

Returværditype: Streng

Eksempel: Indstil variablen opportunitySubgrids til en matrix af undergitterkontrolelementer, der viser salgsmulighedsposter.

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

getGrid

Brug denne metode til at få adgang til variablen Gitter i GridControl.

Returværditype:Gitter

Eksempel: Indstil variablen contactsSubgridGrid til gitteret for Kontakter-undergitteret.

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

getViewSelector

Brug denne metode til at få adgang til variablen ViewSelector, som er tilgængelig for GridControl.

Returværditype:ViewSelector

Eksempel: Indstil variablen contactsSubgridViewSelector til visningsvælgeren for Kontakter-undergitteret.

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

removeOnLoad

Brug denne metode til at fjerne hændelseshandlere fra GridControlOnLoad-hændelse.

Parametertype: Funktion

Eksempel: Føj myContactsGridOnloadFunction-funktionen til Contacts-undergitter OnLoad hændelse, og fjern den derefter.

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

Gitter

Brug Grid-metoder til at få adgang til oplysninger om data i gitteret.Grid returneres af GridControl.getGrid-metoden.

getRows

Returnerer en samling alle GridRow i Grid.

Returværditype: Samling

Eksempel: Angiv allRows-variablen til en samling GridRow fra Contacts-undergitteret.

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

Bemærkninger:

Se Grupper (klientsidereference) for at få oplysninger om metoder til at få adgang til data i en samling.

getSelectedRows

Returnerer en samling alle valgte GridRow i Grid.

Returværditype: Samling

Eksempel: Udfyld selectedEntityReferencesArray variablen med objektreferencer for markerede rækker fra Kontakter-undergitteret.

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

Bemærkninger:

Se Grupper (klientsidereference) for at få oplysninger om metoder til at få adgang til data i en samling.

getTotalRecordCount

I webprogrammet eller Dynamics 365 til Outlook-klienten, mens du har forbindelse til serveren, returnerer denne metode det samlede antal poster, der opfylder filterkriterierne for visningen, som ikke er begrænset af det synlige antal på en enkelt side.

Når Dynamics 365 til Outlook-klienten ikke er tilsluttet serveren, er dette tal begrænset til de poster, som brugeren har valgt skal være offline.

For Microsoft Dynamics 365 til tablets og Microsoft Dynamics 365 til telefoner returnerer denne metode antallet af poster i undergitteret.

Returværditype: Antal

Eksempel: Indstil variablen filteredRecordCount til det samlede antal poster, der opfylder filterkriterierne for visningen.

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

GridRow

Brug GridRow.getData metoden til at få adgang til GridRowData. Der returneres en samling af GridRow af Grid.getRows og Grid.getSelectedRows metoderne.

getData

Returnerer GridRowData for GridRow.

Returværditype:GridRowData

Eksempel: Udfyld allGridRowDataArray variablen med GridRowData for alle rækker fra Kontakter-undergitteret.

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

GridRowData

Brug GridRowData.getEntity metoden til at få adgang til GridEntity.GridRowData returneres af GridRow.getData-metoden.

getEntity

Returnerer GridEntity for GridRowData.

Returværditype:GridEntity

Eksempel: Udfyld allGridEntitiesArray variablen med GridEntity for alle rækker fra Kontakter-undergitteret.

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

GridEntity

Brug GridEntity-metoder til at få adgang til data om bestemte poster i rækkerne.GridEntity returneres af GridRowData.getEntity-metoden.

getEntityName

Returnerer det logiske navn for posten i rækken.

Returværditype: Streng

Eksempel: Indstil variablen firstEntityType til værdien af det logiske objektnavn for den første række i Kontakter-undergitteret.

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

getEntityReference

Returværditype: Opslag

Eksempel: Indstil variablen firstEntityType til en objektreference for den første række i Kontakter-undergitteret.

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

Bemærkninger:

Dette opslag har følgende egenskaber:

Navn

Type

Beskrivelse

entityType

Streng

Det logiske navn for posten i rækken. De samme data, der returneres af GridEntity.getEntityName metoden.

id

Streng

Id'et for posten i rækken. De samme data, der returneres af GridEntity.getId metoden.

navn

Streng

Den primære attributværdi for posten i rækken. De samme data, der returneres af GridEntity.getPrimaryAttributeValue metoden.

getId

Returnerer id'et for posten i rækken.

Returværditype: Streng

Eksempel: Indstil variablen firstEntityId til værdien af id'et for posten fra den første række i Kontakter-undergitteret.

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

getPrimaryAttributeValue

Returnerer den primære attributværdi for posten i rækken.

Returværditype: Streng

Eksempel: Indstil variablen currentView til den aktuelle visning i visningsvælgeren for Kontakter-undergitteret.

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

ViewSelector

Brug ViewSelector metoder til at hente eller angive oplysninger om visningsvælgeren for undergitterkontrolelementer.

Bemærk

Hvis et undergitterkontrolelement ikke er konfigureret til at åbne visningsvælger, opstår der en fejl, når ViewSelector-metoder kaldes.

getCurrentView

Brug denne metode til at få en reference til den aktuelle visning.

Returværditype: Opslagsobjekt

Eksempel: Indstil variablen currentView til den aktuelle visning i visningsvælgeren for Kontakter-undergitteret.

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

Bemærkninger:

Hvis undergitterkontrolelementet ikke er konfigureret til at åbne visningsvælgeren, opstår der en fejl, når denne metode kaldes i den ViewSelector, der returneres af GridControl.getViewSelector-metoden.

isVisible

Brug denne metode til at bestemme, om visningsvælgeren skal være synlig.

Returværditype: Boolesk

Eksempel: Indstil variablen viewSelectorIsVisible til at repræsentere visningsvælgerens synlighedsstatus for Kontakter-undergitteret.

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

Bemærkninger:

Hvis undergitterkontrolelementet ikke er konfigureret til at åbne visningsvælgeren, opstår der en fejl, når denne metode kaldes i den ViewSelector, der returneres af GridControl.getViewSelector.

setCurrentView

Brug denne metode til at indstille den aktuelle visning.

Parametertype: Opslagsobjekt

Eksempel: Indstil variablen ContactsIFollow til at være den aktuelle visning i Kontakter-undergitteret.

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

Bemærkninger:

Hvis undergitterkontrolelementet ikke er konfigureret til at åbne visningsvælgeren, opstår der en fejl, når denne metode kaldes i den ViewSelector, der returneres af GridControl.getViewSelector.

Dette opslag har følgende egenskaber:

Navn

Type

Beskrivelse

entityType

Antal

Objekttypekoden for den SavedQuery (1039) eller UserQuery (4230), der repræsenterer visningen, som brugeren kan vælge.

id

Streng

Id'et for den visning, som brugeren kan vælge.

navn

Streng

Navnet på den visning, som brugeren kan vælge.

Se også

Skrive scripts til undergitre
Kontrolelementet Xrm.Page.ui (klientsidereference)
Grupper (klientsidereference)
Programmeringsreference på klientsiden
Skriv kode til Microsoft Dynamics 365-formularer
Udvide Microsoft Dynamics 365 på klienten

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret