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