Home > MS CRM 4.0 > To Sort CRM views by more than one attribute

To Sort CRM views by more than one attribute


My client had a requirement where they want CRM view should be sorted by more than one Attribute .so i was googling to get solution for this and get some good way of doing this with simple script .
 
 

Default Multi-column Sort (Proof of Concept)

Being able to sort by multiple columns in CRM is quite handy, but unfortunately there are no mechanisms for configuring a default multi-column sort. Until now. The following code will illustrate how to accomplish it:

var stageFrame = document.getElementsByName("stage")[0]; 
var stageFrameDoc = stageFrame.contentWindow.document; 
crmGrid = stageFrameDoc.all.crmGrid; 
crmGrid.all.divGridProps.children["sortColumns"].value = "statuscode:0;casetypecode:1"; 
crmGrid.Refresh()

I spent some time trying to answer this question: http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/bd082f9d-1288-49ea-a8b4-e2b0beefd1d4. And came up with the solution above.
Basically, it’s implemented as this:

  1. First, get the document that holds the crmGrid;
  2. Then, access the divGridProps collection within it;
  3. Change the value for the "sortColumns" property to "<field name 1>:<sort type>[; <field name x>:<sort type>]" where: <field name> is the name of the sorted column <sort type> is 1 (descending) or 0 (ascending)
  4. Repeat the bracketed block as necessary, being sure to place a semicolon (;) between each field/sort pair.

There must be NO SPACES. Finally, call a Refresh() on the grid. The downside to this code, is that it does not update the sorting icon on the columns. There’s a call being made somewhere, and I think it has to do with analyzing the keypress+click event, that updates the image… whereas my code does not follow that code path.

UPDATE:  You may have noticed that the code above references a mechanism for changing the sorting of the currently viewed CRM Grid from the main CRM window, but makes no mention of where to put the code.  This is because I have not researched, or located, a way to load custom Javascript into the main CRM window.  This code is proof-of-concept.

Advertisements
Categories: MS CRM 4.0
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: