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