Gitterobjekter og -metoder (klientsidereference)

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

Med Opdatering 1 til Microsoft Dynamics CRM Online 2015 kan du gøre mere med undergitterkontrolelementer i formularer ved at bruge nye hændelser og objekter.Flere oplysninger:Skrive scripts til undergitre

Vigtigt

For Microsoft Dynamics CRM Online-organisationer er denne funktion kun tilgængelig, hvis organisationen har opdateret til Dynamics CRM Online 2015 Update 1. Denne funktion er ikke tilgængelig for Dynamics CRM (i det lokale miljø).

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: Tilføj myContactsGridOnloadFunction funktionen til OnLoad-hændelsen i Kontakter-undergitteret, 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: Indstil variablen allRows til en samling af GridRow fra Kontakter-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 CRM 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 CRM 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 CRM til tablets og Microsoft Dynamics CRM 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 gemte forespørgsel (1039) eller brugerforespørgslen (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å

Nyheder i Microsoft Dynamics CRM Online 2015 Update 1
Skrive scripts til undergitre
Kontrolelementet Xrm.Page.ui (klientsidereference)
Grupper (klientsidereference)
Programmeringsreference på klientsiden
Skrive kode til Microsoft Dynamics CRM 2015-formularer
Skrive klientprogramudvidelser

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret