Objetos y métodos de cuadrícula (referencia del lado del cliente)

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Con Actualización 1 de Microsoft Dynamics CRM Online 2015 puede realizar más tareas con los controles de subcuadrícula en formularios utilizando eventos y objetos nuevos.Más información:Escribir scripts para subcuadrículas

Importante

En las organizaciones de Microsoft Dynamics CRM Online, esta característica solo está disponible si su organización se ha actualizado a la Actualización 1 de Dynamics CRM Online 2015. Esta característica no está disponible para Dynamics CRM (local).

En este tema

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

  • Cuadrícula
    Métodos para Grid devueltos por el método GridControl.getGrid: getRows, getSelectedRows y getTotalRecordCount.

  • GridRow
    El método getData para GridRow devuelta por los métodos Grid. getRows and Grid. getSelectedRows.

  • GridRowData
    El método getEntity para la GridRowData devuelta por el método GridRow. getData.

  • GridEntity
    Métodos para la GridEntity devuelta por el método GridRowData. getEntity: getEntityName, getEntityReference, getId y getPrimaryAttributeValue.

  • ViewSelector
    Métodos para el ViewSelector devuelto por GridControl.getViewSelector, getCurrentView, isVisible y setCurrentView

GridControl

Antes de Actualización 1 de CRM Online 2015 el único método para el control de subcuadrícula era refresh. Cuando conoce el nombre del control de subcuadrícula puede tener acceso a él utilizando el siguiente código, por ejemplo, para tener acceso a la subcuadrícula CONTACTOS en el formulario predeterminado de la cuenta.

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

Sugerencia

Para identificar los nombres de los controles de subcuadrícula en el formulario sin abrir el editor de formularios, consulte la información de Uso de herramientas del desarrollador del explorador.

Como control de Xrm.Page.ui, GridControl también tiene todos los métodos de control estándar: métodos getControlType, Etiqueta, métodos getParent, Visible, setFocus y métodos Notificación así como refresh. Consulte Control Xrm.Page.ui (referencia de cliente) para obtener más información sobre estos métodos.

Evento OnLoad

Agregue controladores de eventos a este evento para ejecutarse cada vez que se actualice la subcuadrícula. Esto incluye cuando los usuarios ordenan los valores haciendo clic en los encabezados de columna. Use los métodos GridControl.addOnLoad and GridControl.removeOnLoad para administrar controladores de eventos, normalmente en el evento Onload del formulario.

addOnLoad

Use este método para agregar controladores de eventos al GridControlEvento OnLoad.

Tipo de parámetro: Función

Ejemplo: Agregue la función myContactsGridOnloadFunction al evento OnLoad de subcuadrícula de Contactos.

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

getEntityName

Use este método para obtener el nombre lógico de los datos de entidad que se muestran en la cuadrícula.

Tipo de valor devuelto: Cadena

Ejemplo: Establezca la variable opportunitySubgrids en una matriz de controles de subcuadrícula que muestren registros de oportunidad.

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

getGrid

Use este método para obtener acceso a Cuadrícula disponible en el GridControl.

**Tipo de valor devuelto:**Cuadrícula

Ejemplo: Establezca la variable contactsSubgridGrid en la cuadrícula de la subcuadrícula de Contactos.

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

getViewSelector

Use este método para obtener acceso a ViewSelector disponible para el GridControl.

**Tipo de valor devuelto:**ViewSelector

Ejemplo: Establezca la variable contactsSubgridViewSelector en el sector de vistas de la subcuadrícula de Contactos.

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

removeOnLoad

Use este método para quitar controladores de eventos del GridControlEvento OnLoad.

Tipo de parámetro: Función

Ejemplo: Agregue la función myContactsGridOnloadFunction al evento OnLoad de subcuadrícula de Contactos y luego quítela.

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

Cuadrícula

Use los métodos Grid para tener acceso a la información acerca de los datos de la cuadrícula.Grid es devuelto por el método GridControl.getGrid.

getRows

Devuelve una colección de cada GridRow de la Grid.

Tipo de valor devuelto: Colección

Ejemplo: Establezca la variable allRows en una colección de GridRow de la subcuadrícula de Contactos.

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

Comentarios:

Vea Colecciones (referencia del lado del cliente) para obtener información sobre los métodos disponibles para obtener acceso a los datos de una colección.

getSelectedRows

Devuelve una colección de cada GridRow seleccionada en la Grid.

Tipo de valor devuelto: Colección

Ejemplo: Rellene la variable selectedEntityReferencesArray con referencias de entidad para las filas seleccionadas de la subcuadrícula de Contactos.

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

Comentarios:

Vea Colecciones (referencia del lado del cliente) para obtener información sobre los métodos disponibles para obtener acceso a los datos de una colección.

getTotalRecordCount

En la aplicación web o el cliente de Dynamics CRM para Outlook mientras está conectado al servidor, este método devuelve el número total de registros que coinciden con los criterios de filtro de la vista, sin limitarse por el número visible en una sola página.

Cuando el cliente de Dynamics CRM para Outlook no está conectado al servidor, este número está limitada a aquellos registros que el usuario ha seleccionado para trabajar sin conexión.

Para Microsoft Dynamics CRM para tabletas y Microsoft Dynamics CRM para teléfonos este método devolverá el número de registros en la subcuadrícula.

Tipo de valor devuelto: Número

Ejemplo: Establezca la variable filteredRecordCount el número total de registros que coinciden con los criterios de filtro de la vista.

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

GridRow

Use el método GridRow. getData para acceder a la GridRowData. Una colección de GridRow es devuelta por los métodos Grid. getRows y Grid. getSelectedRows.

getData

Devuelve la GridRowData para GridRow.

**Tipo de valor devuelto:**GridRowData

Ejemplo: Rellene la variable allGridRowDataArray con GridRowData para todas las filas de la subcuadrícula de Contactos.

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

GridRowData

Use el método GridRowData. getEntity para acceder a la GridEntity.GridRowData es devuelto por el método GridRow. .getData.

getEntity

Devuelve la GridEntity para GridRowData.

**Tipo de valor devuelto:**GridEntity

Ejemplo: Rellene la variable allGridEntitiesArray con GridEntity para todas las filas de la subcuadrícula de Contactos.

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

GridEntity

Use los métodos GridEntity para tener acceso a datos acerca de registros específicos en las filas.GridEntity es devuelto por el método GridRowData. getEntity.

getEntityName

Devuelve el nombre lógico para el registro en la fila.

Tipo de valor devuelto: Cadena

Ejemplo: Establezca la variable firstEntityType en el valor del nombre lógico de la entidad para la primera fila de la subcuadrícula de Contactos.

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

getEntityReference

Tipo de valor devuelto: Consulta

Ejemplo: Establezca la variable firstEntityType en una referencia de entidad para la primera fila de la subcuadrícula de Contactos.

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

Comentarios:

Esta consulta tiene las siguientes propiedades:

Nombre

Tipo

Descripción

entityType

Cadena

El nombre lógico para el registro en la fila. Los mismos datos devueltos por el método GridEntity.getEntityName.

id

Cadena

El identificador para el registro en la fila. Los mismos datos devueltos por el método GridEntity.getId.

nombre

Cadena

El valor del atributo principal del registro de la fila. Los mismos datos devueltos por el método GridEntity.getPrimaryAttributeValue.

getId

Devuelve el identificador para el registro en la fila.

Tipo de valor devuelto: Cadena

Ejemplo: Establezca la variable firstEntityId en el valor del identificador del registro de la primera fila de la subcuadrícula de Contactos.

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

getPrimaryAttributeValue

Devuelve el valor del atributo principal del registro de la fila.

Tipo de valor devuelto: Cadena

Ejemplo: Establezca la variable currentView en la vista actual del sector de vistas de la subcuadrícula de Contactos.

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

ViewSelector

Use los métodos ViewSelector para obtener o para establecer la información sobre el selector de vistas del control de subcuadrícula.

Nota

Si el control de subcuadrícula no está configurado para mostrar el selector de vistas, al llamar a los métodos ViewSelector se producirá un error.

getCurrentView

Use este método para obtener una referencia a la vista actual.

Tipo de valor devuelto: Objeto de consulta

Ejemplo: Establezca la variable currentView en la vista actual del sector de vistas de la subcuadrícula de Contactos.

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

Comentarios:

Si el control de subcuadrícula no está configurado para mostrar el selector de vistas, al llamar a este método en el ViewSelector devuelto por el método GridControl.getViewSelector se producirá un error.

isVisible

Use este método para determinar si el selector de vistas está visible.

Tipo de valor devuelto: Booleano

Ejemplo: Establezca la variable viewSelectorIsVisible para representar el estado de visibilidad del sector de vistas de la subcuadrícula de Contactos.

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

Comentarios:

Si el control de subcuadrícula no está configurado para mostrar el selector de vistas, al llamar a este método en el ViewSelector devuelto por GridControl.getViewSelector se producirá un error.

setCurrentView

Use este método para establecer la vista actual.

Tipo de parámetro: Objeto de búsqueda

Ejemplo: Establezca la variable ContactsIFollow para que sea la vista actual de la subcuadrícula de Contactos.

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

Comentarios:

Si el control de subcuadrícula no está configurado para mostrar el selector de vistas, al llamar a este método en el ViewSelector devuelto por GridControl.getViewSelector se producirá un error.

Esta consulta tiene las siguientes propiedades:

Nombre

Tipo

Descripción

entityType

Número

El código de tipo de objeto para SavedQuery (1039) o UserQuery (4230) que representa la vista que el usuario puede seleccionar.

id

Cadena

El identificador de la vista que el usuario puede seleccionar.

nombre

Cadena

El nombre de la vista que el usuario puede seleccionar.

Ver también

Novedades de la actualización 1 de Microsoft Dynamics CRM Online 2015
Escribir scripts para subcuadrículas
Control Xrm.Page.ui (referencia de cliente)
Colecciones (referencia del lado del cliente)
Referencia de programación del lado del cliente
Escriba código para formularios de Microsoft Dynamics CRM 2015
Extensiones de la aplicación cliente

© 2017 Microsoft. Todos los derechos reservados. Copyright