JScript eksempelkode: Custom Button

Custom Button

The task is to create the following button:

 

Create a WebResource using the following Button Placeholder (the button is the same color as the form background color, this because when the code loads you will not notice the placeholder button) .

Insert a WebResource on the form, and make the following settings: 

Ad the following code to a JS WebResource:

//******************************************************************
//* This function will create a CRM 2011 Style Button, based on a
//* form field (webresource).
//*
//* PARAMETERS
//* fldName        :   Name of the WebReaource to convert to a Button.
//* btnLabel       :   The Label on the Button
//* btnWidth       :   The Width of the Button.
//* leftMargin     :   The Left Margin from the Section Left Border.
//* bntEvent       :   The Event (function) to fire on Button click.
//*
//* RETURNVALUES
//* None
//* 
//* CREDITS
//* Original idea  :   Paul Way (http://profile.typepad.com/paulway)
//* http: //blog.customereffective.com/blog/2012/01/xrm-2011-crm-2011-style-buttons.html
//* 
//******************************************************************
function convertToButton(fldName, btnLabel, btnWidth, leftMargin, bntEvent) {
    var btn = '<button id="btn_' + fldName + '" ' +
                  ' style="margin-left:' + leftMargin + ';width:' + btnWidth + ';" ' +
                  ' class="ms-crm-Button" ' +
                  ' onmouseover="Mscrm.ButtonUtils.hoverOn(this);" ' +
                  ' onmouseout="Mscrm.ButtonUtils.hoverOff(this);" ' +
                  '>' + btnLabel +
              '</button>';

    var ctrl = Xrm.Page.ui.controls.get(fldName)._control.get_element().childNodes[1];
    
    // Replace image with buttom
    ctrl.innerHTML = btn;
    
    // Add Event to the newly created button
    ctrl.firstChild.attachEvent('onclick', bntEvent);
}

 

Call this code from the Form OnLoad event:

// Call this function from the Form OnLoad event
function initiateButton() {
    convertToButton('WebResource_ButtonTest', 'Button Test', '150px', '115px', btnAlert);
}

 

Create the function who is called on button onclick:

// A function called from the button OnClick event
function btnAlert() {
    alert("The button is clicked!");
}

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:
    • Javascript API-reference
    • Javascript 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.