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