JScript eksempelkode: Set default filter om view

Set default filter om view

UPDATE

The following script will work after Rollup 12.

//****************************************************************************
//* Set default filter for the Activities 'Filter on' to 'All' for Account 
//* and Contact for Rollup 12
//*
//* PARAMETERS
//* None
//*
//* RETURNVALUES
//* None
//* 
//* REMARKS
//* None
//*
//* CREDITS / READ MORE
//* http://www.magnetismsolutions.co.nz/blog/paul/paul-nieuwelaars-blog/2013/01/11/default-activity-filter-on-to-all-dynamics-crm-2011-ur12
//****************************************************************************

function filterAllActivities() {
    document.getElementById("navActivities").onclick = function () {
        Mscrm.Details.loadArea(this, "areaActivities");

        document.getElementById("areaActivitiesFrame").onload = function () {
            var entityName = Xrm.Page.data.entity.getEntityName();
            var entity = entityName.charAt(0).toUpperCase() + entityName.substr(1);
            var doc = this.contentWindow.document;
            var filterOn = doc.getElementById("crmGrid_" + entity + "_ActivityPointers_datefilter");

            filterOn.value = "All";

            var evt = document.createEvent("HTMLEvents");
            evt.initEvent("change", false, true);
            filterOn.dispatchEvent(evt); 
        };
    };
}

 

OLD SCRIPTS

The below scripts will work before Rollup 12.

//****************************************************************************
//* Set default filter om view
//*
//* PARAMETERS
//* type             :    Type af viev to set filter on. Normally 'Activities'
//* defaultValue     :    The default view to select. For example 'All'
//* fieldName        :    The field to filter on, for example:
//*                       Account: 'crmGrid_Account_ActivityPointers_datefilter'
//*                       Contact: 'crmGrid_Contact_ActivityPointers_datefilter'
//*
//* RETURNVALUES
//* None
//* 
//* REMARKS
//* On Form Onload, set Function to call SetView 
//* Set the following parameters to the function, for example:
//* 'Activities', 'All', "crmGrid_Contact_ActivityPointers_datefilter"
//*
//* http://social.msdn.microsoft.com/Forums/de-DE/crmgerman/thread/912fef23-a12d-47db-b754-897f48a025e5
//****************************************************************************
function SetView(type, defaultValue, fieldName) {
   SetDefaultView = function (viewCombo, viewName, appGrid) {
      if (viewCombo.value != viewName) {
         viewCombo.value = viewName;
         appGrid.RefreshGridView();
      }
   }

   areaActivitiesFrame_OnReadyStateChange = function () {
      if (this.readyState == "complete") {
         var frame = document.frames("area" + type + "Frame");
         var viewCombo = frame.document.getElementById(fieldName);
         var appGrid = frame.document.getElementById("AppGridFilterContainer");
         if (viewCombo.readyState == "complete") {
            SetDefaultView(viewCombo, defaultValue, appGrid);
         }

         else {
            viewCombo.onreadystatechange = function () {
               if (this.readyState == "complete") {
                  SetDefaultView(this, defaultValue, appGrid);
               }
            }
         }
      }
   }

   if (document.getElementById("nav" + type) != null) {
      document.getElementById("nav" + type).onclick = function () {
         loadArea("area" + type);
         document.frames("area" + type + "Frame").document.onreadystatechange = 
         function () {
            if (this.readyState == "complete") {
               var frame = document.frames("area" + type + "Frame");
               var viewCombo = frame.document.getElementById(fieldName);
               var appGrid = frame.document.getElementById("AppGridFilterContainer");
               if (viewCombo.readyState == "complete") {
                  SetDefaultView(viewCombo, defaultValue, appGrid);
               }

               else {
                  viewCombo.onreadystatechange = function () {
                     if (this.readyState == "complete") {
                        SetDefaultView(this, defaultValue, appGrid);
                     }
                  }
               }
            }
         }
      }
   }
}



Man kan også kalde funktionen uden parametre.

//****************************************************************************
//* Set default filter om view without parameters
//*
//* PARAMETERS
//* None
//*
//* RETURNVALUES
//* None
//* 
//* REMARKS
//* On Form Onload, set Function to call filterAllActivities
//* The filter used in this example is 'All'
//*
//* CREDITS
//* http://www.magnetismsolutions.com/blog/paul-nieuwelaars-blog/2012/12/18/default-activities-filter-on-to-all-dynamics-crm-2011
//****************************************************************************
function filterAllActivities() {
    document.getElementById("navActivities").onclick = function () {
        loadArea("areaActivities"); 

        document.getElementById("areaActivitiesFrame").onload = function () {
            var entityName = Xrm.Page.data.entity.getEntityName();
            var entity = entityName.charAt(0).toUpperCase() + entityName.substr(1);
            var doc = this.contentWindow.document;
            var filterOn = doc.getElementById("crmGrid_" + entity + "_ActivityPointers_datefilter"); 

            filterOn.value = "All";
            filterOn.FireOnChange();
        };
    };
}

Bliv medlem af CRMUG DK

De regionale afdelinger i CRMUG giver mulighed for a mødes med andre medlemmer af CRMUG i dit lokalområde. Hermed får du mulighed for at mødes ansigt til ansigt og vidensdele med andre brugere af Microsoft Dynamics CRM i dit område.

Læs mere den Danske afdeling af CRMUG...

Om Henrik Jensen

Jeg har altid fingeren på pulsen når det drejer sig om Microsofts produkter & teknologier, og især når det handler om Microsoft Dynamics CRM.

Henrik Jensen

Jeg har arbejdet professionelt i IT-branchen mere end 25 års, deraf mere end 18 år med CRM-systemer, og samtidig indehaver af mere end 50 Microsoft-certificeringer.

Mobil: +45 20 300 300
E-mail: hj@easyconsult.dk

EASYConsult ApS

Læs mere...

Downloads, værktøjer, installation og JScript

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Liste over Opdateringspakker (Rollups):
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Værktøjer til MS CRM:
    • Liste med værktøjer til MS CRM

Krav og opsætninger til installation:
    • Krav og opsætninger MS CRM 2011
    • Krav og opsætninger MS CRM 2013
    • Krav og opsætninger MS CRM 2015
    • Krav og opsætninger MS CRM 2016

JScript eksempelkode:
    • JScript eksempelkode

Diverse værktøjer:
    • Sysinternals
    • PowerShell og MS CRM 2011

Visual Studio, SSIS og Kingswaysoft
    • Visual Studio 2017
    • Dataværktøjer (SSIS) 2017
    • Kingswaysoft

Månedsliste

Forbehold

Alt hvad du læser på denne blog er alene udtryk for mine egne holdninger og meninger, og kan ikke henføres til andet end som så.

De løsninger jeg fremstiller på denne blog er ikke nødvendigvis testet i et driftsmiljø. Hvis du gør brug af mine løsninger er det på eget ansvar.