Partilhar via


Objetos e métodos de grade editável (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 de eventos para se inscrever em eventos acionados por grades editáveis quando os dados são selecionados, alterados ou salvos em uma grade editável. Grades editáveis são compatíveis com a maior parte dos métodos do cliente suportados por grades não editáveis. Mais Informações: Usar grades editáveis no Dynamics 365

Observação

A grade editável foi apresentada na Atualização de dezembro de 2016 para Dynamics 365 (online e local).

Neste tópico

Eventos de grades editáveis

Métodos de grade editável

Eventos de grades editáveis

A grade editável é compatível com os seguintes eventos que você pode usar para registrar e executar os scripts do seu cliente. É possível se registrar nesses eventos usando a guia Eventos da página Microsoft Dynamics 365 que é usada para habilitar grades editáveis de uma entidade ou uma grade somente leitura:

  • OnRecordSelect

  • OnChange

  • OnSave

Importante

Use o método getFormContext de contexto de execução para criar manipuladores de eventos comuns que podem operar em uma grade editável GridCell ou em um campo de formulário, dependendo de onde o manipulador de eventos seja executado.Para obter mais informações:getFormContext

OnRecordSelect

O evento OnRecordSelect ocorre quando uma única linha (registro) é selecionada na grade editável. Esse evento não ocorrerá se um usuário selecionar células diferentes na mesma linha ou selecionar várias linhas.

OnChange

O evento OnChange ocorre quando um valor é alterado em uma célula na grade editável e a célula perde o foco. Esse evento também pode ocorrer quando um valor de atributo é atualizado por meio do método setValue.

OnSave

O evento OnSave ocorre antes do envio das informações atualizadas ao servidor e quando qualquer uma das seguintes situações acontece:

  • Há uma alteração na seleção do registro.

  • O usuário explicitamente aciona uma operação de salvar usando o botão de salvar da grade editável.

  • O usuário aplica uma operação de classificação, filtro, grupo, paginação ou navegação na grade editável, embora haja alterações pendentes.

Alguns pontos importantes a serem considerados em relação ao evento OnSave:

  • Se um usuário editar várias colunas do mesmo registro em sequência, o evento OnSave só será acionado uma vez para garantir o desempenho ideal e a compatibilidade do comportamento de formulário.

  • A grade editável e o formulário pai têm botões de salvar separados. Clicar no botão de salvar em um não salvará alterações no outro.

  • A grade editável não salva alterações pendentes quando as operações de navegação são realizadas fora de seu contexto. Se o controle não salvou os dados, esses dados podem ser perdidos. Consequentemente, o evento OnSave pode não ser acionado. Por exemplo, isso poderia acontecer durante a navegação até um registro diferente por meio de um campo de pesquisa de formulário ou da faixa de opções.

  • Pressionar o botão de atualizar na grade editável pode fazer com que qualquer alteração pendente seja descartada, e o evento OnSave não será acionado.

  • O controle de grade editável não implementa um timer de salvamento automático.

  • A grade editável suprime as regras de detecção de duplicidades.

Métodos de grade editável

A grade editável é compatível com alguns métodos novos e a maioria dos métodos existentes suportados por grades somente leitura:

  • GridControl

  • Grade

  • GridRow

  • GridRowData

  • GridEntity

  • GridAttribute

  • GridCell

GridControl

Se você conhece o nome do controle da grade editável, você pode acessá-lo usando o código a seguir. Por exemplo, para acessar a subgrade CONTACTS no formulário de conta padrão:

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

Dica

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

A grade editável é compatível com os seguintes métodos de controle de grade somente leitura: getEntityName e getGrid.

Grade

A grade editável é compatível com os seguintes métodos da Grid retornada pelo método GridControl.getGrid: getRows, getSelectedRows e getTotalRecordCount.

GridRow

A grade editável é compatível com o método getData da GridRow retornada pelos métodos Grid.getRows e Grid.getSelectedRows.

GridRow também é compatível com a coleção data que fornece formas para trabalhar com a linha de grade editável. Consulte Coleções (referência do cliente) para obter informações sobre os métodos disponíveis para acessar dados em uma coleção.

GridRowData

A grade editável é compatível com o método getEntity da GridRowData retornada pelo método GridRow.getData.

GridRowData também fornece métodos para recuperar informações específicas para um registro exibido em uma linha de grade editável, incluindo uma coleção de todos os atributos contidos na linha. Os dados do atributo estão limitados às colunas apresentadas pela grade editável. Consulte Coleções (referência do cliente) para obter informações sobre os métodos disponíveis para acessar dados em uma coleção.

GridEntity

A grade editável é compatível com os seguintes métodos da GridEntity retornada pelo método GridRowData.getEntity:

Além de utilizar o método GridRowData.getEntity, é possível recuperar a GridEntity acessando diretamente o objeto GridRowData.entity.

GridEntity também é compatível com a coleção attributes que fornece métodos de trabalho com uma coleção de atributos de uma entidade na grade editável. Cada atributo (GridAttribute) representa os dados na célula de uma grade editável e contém uma referência a todas as células associadas ao atributo. Consulte Coleções (referência do cliente) para obter informações sobre os métodos disponíveis para acessar dados em uma coleção.

GridAttribute

O GridAttribute é compatível com os seguintes métodos para atributos de uma linha de grade selecionada: getName, getRequiredLevel, setRequiredLevel, getValue e setValue.

Use o método Grid.getSelectedRows para recuperar a linha selecionada em uma grade editável.

GridAttribute também é compatível com a coleção controls para atributos de uma linha de grade selecionada, que fornece métodos para trabalhar com uma coleção de células associadas ao atributo. Cada célula (GridCell) de uma linha de grade selecionada é análoga a um controle em um formulário que está associado a um atributo de uma grade editável. Consulte Coleções (referência do cliente) para obter informações sobre os métodos disponíveis para acessar dados em uma coleção.

Dica

Por razões de desempenho, uma linha (registro) em uma grade editável não é editável antes que o registro seja selecionado. Os usuários devem selecionar um único registro em uma grade para editá-lo. Após a seleção de um registro em uma grade editável, o Dynamics 365 internamente avalia uma série de coisas, incluindo o acesso do usuário ao registro, se o registro está ativo e as validações de campo para garantir que a segurança e validade dos dados sejam mantidas quando você editá-los. Considere o uso do evento OnRecordSelect com o método getFormContext para acessar os registros na grade que estão no estado editável.

GridCell

Além de setNotification e clearNotification, os métodos GridCell são compatíveis com os seguintes métodos para controles:

Observação

Grades editáveis não podem exibir mais de uma notificação por vez.

getDisabled

Retorna se a célula está desabilitada (somente leitura).

gridCellObj.getDisabled()
  • Valor de Retorno
    Tipo: Booliano. True se a célula estiver desabilitada; caso contrário, false.

setDisabled

Define se a célula está desabilitada.

gridCellObj.setDisabled(bool)
  • Argumentos
    Tipo: Booliano. True se a célula deve ser desabilitada; caso contrário, false.

  • Comentários
    Habilitar uma célula somente leitura pode provocar um erro quando o registro é salvo. Se o campo é considerado somente leitura pelo servidor, um erro pode ocorrer se o valor for modificado. Isso pode ocorrer em cenários nos quais o usuário não escreveu privilégios para o registro, o registro está desabilitado ou o usuário não tem os privilégios de segurança de nível de campo necessários.

getLabel

Retorna a etiqueta da coluna que contém a célula.

gridCellObj.getLabel()
  • Valor de Retorno
    Tipo: Cadeia de caracteres. A etiqueta da coluna.

Confira Também

Objetos e métodos de grade (somente leitura) (referência do cliente)
Usar grades editáveis no Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais