Removing a field from QuickFilter field list {Using Event handlers}

Lets say we need to remove a particular field (Sales Order) from the quick filter drop down.


This can be achieved in the following way :


  1. Create a OnInitialized event handler of the form.
  2. Copy the following code snippet inside the event handler
 [FormEventHandler(formStr(SalesTableListPage), FormEventType::Initialized)]  
   public static void SalesTableListPage_OnInitialized(xFormRun sender, FormEventArgs e)  
   {  
     QuickFilterControl quickFilterControl = sender.design().controlName(formControlStr(SalesTableListPage, QuickFilterControl));  
     List myListLabels = quickFilterControl.parmFieldLabels();  
     List myList = quickFilterControl.parmFieldList();  
     ListIterator myListLabelIterator = new ListIterator(myListLabels);  
     ListIterator myListIterator = new ListIterator(myList);  
     while(myListLabelIterator.more())  
     {  
       if (myListLabelIterator.value() == fieldPName(SalesTable, SalesId))  
       {  
         myListIterator.delete();  
         myListLabelIterator.delete();  
       }  
       myListLabelIterator.next();  
       myListIterator.next();  
     }  
     quickFilterControl.parmFieldLabels(myListLabels);  
     quickFilterControl.parmFieldList(myList);  
   }  


This removes the field Sales order from the quick filter drop down.




Comments