AP.Contact.FilterGrid = function (eContext)
{
const formContext = eContext.getFormContext();
let formType = formContext.ui.getFormType();
let recordId = formContext.data.entity.getId();
if (formType !== 1 && recordId !== null)
{
recordId = recordId.replace('{', '').replace('}', '')
var fetchXml = "<filter type='or'><condition attribute='ap_primaryserviceuserid' operator='eq' value='" + recordId + "' /><condition attribute='ap_secondaryserviceuserid' operator='eq' value='3F42B6A5-C63B-EC11-8C62-000000000000' /></filter>";
Common.Actions.FilterSubGrid(eContext, "grid name", fetchXml);
}
}
Add following to common.actions
// Function to filter a subgrid
Common.Actions.FilterSubGrid = function (eContext, gridName, fetchXML) {
var formContext = eContext.getFormContext();
// Get grid control
var gridContext = formContext.getControl(gridName);
// Set filter
gridContext.setFilterXml(fetchXML);
// Refresh filter
gridContext.refresh();
}
Note : In order for this to work, untick “Related Records Only” so all records are displayed and then use above filter