martes, 26 de mayo de 2015

Utilizando el Javascript en los Subgrids

El Update 1 de Dynamics CRM 2015 disponible solamente para online, tiene muchas mejoras en la SDK. Este tipo de mejoras son muy agradecidas por nosotros los desarrolladores, que nos aportan nueva y potentes funcionalidades que ofrecer a nuestros clientes.

Una de las mejoras que considero muy importantes, que no han sido muy publicadas, son las de las mejoras en código Javascript con el trabajo con los Subgrids.

Los Subgrids, son vistas que se pueden añadir en los formularios de CRM, por ejemplo para ver las actividades, contactos, o cualquier entidad relacionada de un registro.

Básicamente la idea es poder acceder a los Subgrids por código, y trabajar con el mismo, además de poder añadir código en el evento “OnLoad” de los Subgris (que se cargan de forma asíncrona).

El modelo de objetos de Javascript es el siguiente:


Aquí os dejo un pequeño (muy pequeño) código Javascript en donde he probado algunas de estas nuevas funcionalidades;
   1:  var onLoadSubGrid = function () { 
   2:      alert("Load subGrid");
   3:  };
   4:   
   5:  function onLoadForm()
   6:  {
   7:      var contactsSubgrid = Xrm.Page.getControl("Contacts");
   8:      contactsSubgrid.addOnLoad(onLoadSubGrid);
   9:  }
  10:   
  11:  function onChange()
  12:  {
  13:      var contactsSubgrid = Xrm.Page.getControl("Contacts");
  14:      alert ("Total de contactos: "+contactsSubgrid.getGrid().getTotalRecordCount());
  15:  }

  
Finalmente, lo que podemos hacer ahora es:
  • Acceder al Grid para ver la vista seleccionada, añadir eventos en el load, etc.
  • Acceder a los elementos de la vista, cuantos registros hay, cuales están seleccionados, etc
  • Acceder a los datos de los subgrids (GridEntity) con los campos entityType, id y name
  • Cambiar las vistas seleccionadas
El artículo de la SDK que ofrece mas detalles de estas mejoras está aquí: https://msdn.microsoft.com/en-us/library/dn932137.aspx y aquí con mas detalle: https://msdn.microsoft.com/en-us/library/dn932126.aspx
@demian_rasko

No hay comentarios:

Publicar un comentario