Tag Cloud

CRM 2011 (161) CRM 4.0 (144) C# (116) JScript (109) Plugin (92) Registry (90) Techpedia (77) PyS60 (68) WScript (43) Plugin Message (31) Exploit (27) ShellCode (26) FAQ (22) JavaScript (21) Killer Codes (21) Hax (18) VB 6.0 (17) Commands (16) VBScript (16) Quotes (15) Turbo C++ (13) WMI (13) Security (11) 1337 (10) Tutorials (10) Asp.Net (9) Safe Boot (9) Python (8) Interview Questions (6) video (6) Ajax (5) VC++ (5) WebService (5) Workflow (5) Bat (4) Dorks (4) Sql Server (4) Aptitude (3) Picklist (3) Tweak (3) WCF (3) regex (3) Config (2) LINQ (2) PHP (2) Shell (2) Silverlight (2) TSql (2) flowchart (2) serialize (2) ASHX (1) CRM 4.0 Videos (1) Debug (1) FetchXml (1) GAC (1) General (1) Generics (1) HttpWebRequest (1) InputParameters (1) Lookup (1) Offline Plug-ins (1) OutputParameters (1) Plug-in Constructor (1) Protocol (1) RIA (1) Sharepoint (1) Walkthrough (1) Web.config (1) design patterns (1) generic (1) iframe (1) secure config (1) unsecure config (1) url (1)

Pages

Monday, October 15, 2012

CRM 2011: Attach OnClick event to all fields on the CRM Form and Passing querystring to silverlight web resource in the footer

 

/*

Attach a click event to all fields on the CRM 2011 form.

There is a silverlight page on the footer of the form. On click of any field i need to pass the schema name of the source field(which raised the event) to the silverlight page.

Using the Xrm properties we cannot get the control of a control in the footer.

Here I had to pass a dynamic parameter to the querystring of the silverlight web resource and the ‘setData’ method also cannot be used directly.

 

On load of the form I attached events to all label fields on the form.

For the web resource on the footer there is a property called ‘control’ which gave access to the ‘setData’ method.

Initially I dont want any data parameter to be passed. So in the web resource properties i passed an empty string as data parameter.

This allowed me to change the data parameter dynamically.

*/

 

function AttachAttributEvents()

{

    var attribs = Xrm.Page.data.entity.attributes.get();

    var attribName = "";

    for (var i in attribs)

    {

        attribName = attribs[i].getName();

        if (attribName != "")

        {

            document.getElementById(attribName + '_c').onclick = function ()

                { //Attach events to the label of each attribute

                    var Elt = window.event.srcElement.parentElement.id;

                    var EltName = Elt.substring(0, Elt.length - 2);

                    document.getElementById("WebResource_FieldInfo").control.setData(EltName); //Pass Data parameter to the web resource

                };

        }

    }

}

 

No comments: