2. Past this code in New class. This can be used for data filter on form.
[FormDataSourceEventHandler(formDataSourceStr(CaseDetail, CaseDetailBase), FormDataSourceEventType::QueryExecuting)]
public static void CaseDetailBase_OnQueryExecuting(FormDataSource sender, FormDataSourceEventArgs e)
{
CaseDetailBase caseDetailBase;
CaseCategoryHierarchyDetail detail;
select firstonly detail
where detail.CategoryType == CaseCategoryType::Workorder
&& detail.CaseCategory == 'Work order';
while select * from caseDetailBase where caseDetailBase.CategoryRecId == detail.RecId
{
sender.query().dataSourceTable(tableNum(CaseDetailBase)).addRange(fieldnum(CaseDetailBase, CategoryRecId)).value(sysquery::value(detail.RecId));
}
}