Objetos e métodos de grade (somente leitura) (referência do cliente)

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Você pode definir manipuladores para executar scripts quando dados forem carregados em subgrades. Isso fornece métodos para alterar a exibição selecionada para obter referências aos dados exibidos na grade.

Neste tópico

  • GridControl
    Eventos e métodos para GridControl: Evento OnLoad, addOnLoad, getEntityName, getGrid, getViewSelector e removeOnLoad.

  • Grade
    Métodos para Grid retornados pelo método GridControl.getGrid: getRows, getSelectedRows e getTotalRecordCount.

  • GridRow
    O método getData para GridRow retornado pelos métodos Grid. getRows e Grid. getSelectedRows.

  • GridRowData
    O método getEntity para GridRowData retornado pelo método GridRow. getData.

  • GridEntity
    Métodos para GridEntity retornados pelo método GridRowData. getEntity: getEntityName, getEntityReference, getId e getPrimaryAttributeValue.

  • ViewSelector
    Métodos para ViewSelector retornados por GridControl.getViewSelector, getCurrentView, isVisible e setCurrentView

GridControl

Antes do CRM Online 2015 Atualização 1, o único método exclusivo para o controle de subgrade era refresh. Quando você souber o nome do controle de subgrade, poderá acessá-lo usando o código a seguir, por exemplo, para acessar a subgrade CONTATOS no formulário de conta padrão.

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

Dica

Para identificar nomes de controles de subgrade no formulário sem abrir o editor de formulários, consulte as informações de Usar as ferramentas do desenvolvedor do navegador.

Como um controle Xrm.Page.ui, GridControl também tem todos os métodos de controle padrão: os métodos getControlType, Label, getParent, os métodos Visível, setFocus e os métodos Notificação, bem como refresh. Consulte Controle Xrm.Page.ui (referência do cliente) para obter mais informações sobre esses métodos.

Evento OnLoad

Adicione manipuladores de eventos ao evento a ser executado sempre que a subgrade for atualizada. Isso inclui quando os usuários classificam os valores clicando nos títulos de coluna. Use os métodos GridControl.addOnLoad e GridControl.removeOnLoad para gerenciar manipuladores de eventos, normalmente no formulário do evento Onload.

addOnLoad

Use esse método para adicionar um manipulador de eventos ao evento GridControlEvento OnLoad.

Tipo de parâmetro: função

Exemplo: adicione a função myContactsGridOnloadFunction ao evento OnLoad da subgrade Contatos.

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

getEntityName

Use esse método para obter o nome lógico dos dados da entidade exibidos na grade.

Tipo de valor de retorno: cadeia de caracteres.

Exemplo: defina a variável opportunitySubgrids como uma matriz de controles de subgrade que exibem registros de oportunidade.

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

getGrid

Use esse método para obter acesso a Grade disponível no GridControl.

Tipo de valor de retorno: Grade

Exemplo:: defina a variável contactsSubgridGrid como a grade da subgrade Contatos.

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

getViewSelector

Use esse método para obter acesso ao ViewSelector disponível no GridControl.

Tipo de valor de retorno: ViewSelector

Exemplo:: defina a variável contactsSubgridViewSelector como o seletor de exibição da subgrade Contatos.

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

removeOnLoad

Use esse método para remover manipuladores de eventos do evento GridControlEvento OnLoad.

Tipo de parâmetro: função

Exemplo: adicione a função myContactsGridOnloadFunction ao evento OnLoad da subgrade Contacts e então remova-a.

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

Grade

Use os métodos Grid para acessar informações sobre dados na grade.Grid será retornado pelo método GridControl.getGrid.

getRows

Retorna uma coleção de todas as GridRow na Grid.

Tipo de valor de retorno: coleção

Exemplo:: defina a variável allRows como a coleção de GridRow da subgrade Contacts.

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

Comentários:

Consulte Coleções (referência do cliente) para obter informações sobre os métodos disponíveis para acessar dados em uma coleção.

getSelectedRows

Retorna uma coleção de todas as GridRow selecionadas na Grid.

Tipo de valor de retorno: coleção

Exemplo: preencha a variável selectedEntityReferencesArray com referências de entidade para linhas selecionadas da subgrade Contatos.

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

Comentários:

Consulte Coleções (referência do cliente) para obter informações sobre os métodos disponíveis para acessar dados em uma coleção.

getTotalRecordCount

No aplicativo Web ou no cliente do Dynamics 365 para Outlook conectado ao servidor, este método retorna o número total de registros que correspondem aos critérios de filtragem da exibição, não limitado pelo número visível em uma única página.

Quando o cliente do Dynamics 365 para Outlook não estiver conectado ao servidor, esse número é limitado aos registros que o usuário selecionou para acessar offline.

Para o Microsoft Dynamics 365 para Tablets e o Microsoft Dynamics 365 para telefones, este método retornará o número de registros na subgrade.

Tipo de valor de retorno: número

Exemplo: defina a variável filteredRecordCount como o número total de registros que correspondem aos critérios do filtro da exibição.

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

GridRow

Use o método GridRow. getData para acessar os GridRowData. Uma coleção de GridRow é retornada pelos métodos Grid. getRows e Grid. getSelectedRows.

getData

Retorna GridRowData para GridRow.

Tipo de valor de retorno: GridRowData

Exemplo: preencha a variável allGridRowDataArray com GridRowData para todas as linhas da subgrade Contatos.

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

GridRowData

Use o método GridRowData. getEntity para acessar os GridEntity.GridRowData será retornado pelo método GridRow. getData.

getEntity

Retorna GridEntity para GridRowData.

Tipo de valor de retorno: GridEntity

Exemplo: preencha a variável allGridEntitiesArray com GridEntity para todas as linhas da subgrade Contatos.

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

GridEntity

Use os métodos GridEntity para acessar os dados em registros específicos em linhas.GridEntity será retornado pelo método GridRowData. getEntity.

getEntityName

Retorna o nome lógico para o registro na linha.

Tipo de valor de retorno: cadeia de caracteres.

Exemplo: defina a variável firstEntityType como o valor do nome lógico da entidade para a primeira linha da subgrade Contatos.

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

getEntityReference

Tipo de valor de retorno: pesquisa

Exemplo: defina a variável firstEntityType como uma referência de entidade para a primeira linha da subgrade Contatos.

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

Comentários:

Essa pesquisa tem as seguintes propriedades:

Nome

Tipo

Descrição

entityType

Cadeia de caracteres

O nome lógico para o registro na linha. Os mesmos dados retornados pelo método GridEntity.getEntityName.

id

Cadeia de caracteres

A identificação para o registro na linha. Os mesmos dados retornados pelo método GridEntity.getId.

nome

Cadeia de caracteres

O valor de atributo principal para o registro na linha. Os mesmos dados retornados pelo método GridEntity.getPrimaryAttributeValue.

getId

Retorna a identificação para o registro na linha.

Tipo de valor de retorno: cadeia de caracteres.

Exemplo: defina a variável firstEntityId como o valor da identificação do registro da primeira linha da subgrade Contatos.

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

getPrimaryAttributeValue

Retorna o valor de atributo principal para o registro na linha.

Tipo de valor de retorno: cadeia de caracteres.

Exemplo:: defina a variável currentView como a exibição atual do seletor de exibição para a subgrade Contatos.

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

ViewSelector

Use os métodos ViewSelector para obter ou definir informações sobre o seletor de exibição do controle de subgrade.

Observação

Se o controle de subgrade não estiver configurado para exibir o seletor de exibição, a chamada aos métodos ViewSelector lançará um erro.

getCurrentView

Use esse método para obter uma referência para a exibição atual.

Tipo de valor de retorno: objeto de pesquisa

Exemplo:: defina a variável currentView como a exibição atual do seletor de exibição para a subgrade Contatos.

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

Comentários:

Se o controle de subgrade não estiver configurado para exibir o seletor de exibição, a chamada a esse método no ViewSelector retornado pelo GridControl.getViewSelector lançará um erro.

isVisible

Use esse método para determinar se o seletor da exibição está visível.

Tipo de valor de retorno: booliano

Exemplo:: defina a variável viewSelectorIsVisible para representar o status de visibilidade do seletor de exibição para a subgrade Contatos.

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

Comentários:

Se o controle de subgrade não estiver configurado para exibir o seletor de exibição, a chamada a esse método no ViewSelector retornado pelo GridControl.getViewSelector lançará um erro.

setCurrentView

Use esse método para definir a exibição atual.

Tipo de parâmetro: objeto de pesquisa

Exemplo:: defina a variável ContactsIFollow como a exibição atual da subgrade Contatos.

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

Comentários:

Se o controle de subgrade não estiver configurado para exibir o seletor de exibição, a chamada a esse método no ViewSelector retornado pelo GridControl.getViewSelector lançará um erro.

Essa Pesquisa tem as seguintes propriedades:

Nome

Tipo

Descrição

entityType

Número

O código de tipo de objeto para SavedQuery (1039) ou UserQuery (4230) que representa a exibição que o usuário pode selecionar.

id

Cadeia de caracteres

A identificação da exibição que o usuário pode selecionar.

nome

Cadeia de caracteres

O nome da exibição que o usuário pode selecionar.

Confira Também

Escrever scripts para subgrades
Controle Xrm.Page.ui (referência do cliente)
Coleções (referência do cliente)
Referência de programação do cliente
Crie códigos para os formulários do Microsoft Dynamics 365
Estender o Microsoft Dynamics 365 no cliente

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais