First, here’s how to get the Id of the displayed view and the Object Type Code of the records it returns:
// get guid and object type code of view being displayed (otc 1039 = savedquery, system view)You may notice that the code is slightly different from what I’ve presented before. The method above is a more robust way of getting the data, as it also works with the Associated Grids on an entity’s form.
var sViewId = document.all['crmGrid'].GetParameter('viewid');
var sViewType = document.all['crmGrid'].GetParameter('viewtype');
To get the Object Type Code of the records that are in the grid, use the following:
var sOtc = document.all['crmGrid'].GetParameter('otc');The following snippet will allow you to retrieve an array containing the Id values of the selected records in the grid:
// get array of selected recordsTo get all of the records in the grid (ie. “All Records on Current Page”):
var a = document.all['crmGrid'].InnerGrid.SelectedRecords;
var selectedItems = new Array(a.length);
for (var i=0; i < a.length; i++)
{
selectedItems = a[0];
}
alert(selectedItems);
// array of all records on current pageIf the grid you are working with is displaying records from an Associated View, you can use the following to retrieve the Id and Object Type Code of the main record:
var iTotal = document.all['crmGrid'].InnerGrid.NumberOfRecords;
var o = document.all['crmGrid'].InnerGrid;
var allItems = new Array;
for (var i=0; i < iTotal; i++)
{
allItems[i] = o.rows.oid;
}
alert(allItems);
// get object id and type code of main record when grid is an associated viewFor kicks and giggles, here is some code that will retrieve the Grid XML. you can use this for researching other types of properties that are available from the grid object that I have not presented here (and there are a few):
var oId = document.all['crmGrid'].GetParameter('oId');
var oType = document.all['crmGrid'].GetParameter('oType');
var gridXml = document.all['crmGrid'].gridXml;Bonus Snippet!I’ve seen a bunch of questions on how to retrieve the query used in an Advanced Find that has not yet been saved. Well, here ya go:
// Advanced Find fetchXmlThis piece of code will display the Fetch XML that is used by the Advanced Find to query CRM.
alert(window.top.resultRender.FetchXml.value);
To make scripts a little bit more readable, it is also possible to use crmGrid object directly instead of document.all['crmGrid']. e.g.:
crmGrid.InnerGrid.SelectedRecords
crmGrid.GetParameter("otc")
crmGrid.Refresh()