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

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

Com o Atualização 1 do Microsoft Dynamics CRM Online 2015, você pode fazer mais com controles de subgrade em formulários usando novos eventos e objetos.Para obter mais informações:Escrever scripts para subgrades

Importante

Para organizações que utilizam o Microsoft Dynamics CRM Online, esse recurso só estará disponível se a sua organização tiver atualizado para a Atualização 1 do Dynamics CRM Online 2015. Este recurso não está disponível para o Dynamics CRM (local).

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, Etiqueta, 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 Contatos 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 Contatos.

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 CRM 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 CRM 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 CRM para Tablets e o Microsoft Dynamics CRM 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 SaveQuery (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

Novidades da Atualização 1 do Microsoft Dynamics CRM Online 2015
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
Criar códigos para os formulários do Microsoft Dynamics CRM 2015
Escrever as extensões do aplicativo do cliente

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais