Skip to main content

Hi I have created Region Object.
It has multilevel hierarchy.
For Example.
A>B>C>D

D is the child of C.C is the child of B.B is child of A.
Now i need to provide filter when i am searching with A all the records of A,B,C,D should be populated.

When I am search with B All the records of B,C,D Should be  populated.

Same way when I search for C all the records with C and D should be populated.

Let me proper Idea how can I achieve this task.
 

If you are using one object and have built a lookup to that same object in order to build a hierarchy this is pretty simple.  For the sake of example I’m going to build an account detail page - showing its region identification,  using a region hierarchy.  I assume that the account record has a lookup to region in order to get the most granular regional location. 

Then create a second model to show “parent regions”   This model will have four conditions. 

1. Region_Name= AccountModel.RegionLookupField
2. Parent.Region_Name= AccountModel.RegionLookupField
3. Parent.Parent.AccountModel.RegionLookupField  Region_Name= AccountModel.RegionLookupField
4. Parent.Parent.Parent.Region_Name= AccountModel.RegionLookupField  

The grouping logic on these conditions will be (1 OR 2 OR 3 OR 4)

This way no matter what level of region is identified with the account - the regional hierarchy on top will be shown. 


Thanks Rob.

But I need this functionality for filter record.Not for display Record.

I need to add filter for searching.

I have to create this functionality on grid page not on detail page.

Let me know some more suggestion .


For Example:


See Above Screen shot.


For Example

A>B>C


I have three records.


Rohit1 who’s Permanent Region is C.

Rohit2 who’s Permanent Region is B.

Rohit3 who’s Permanent Region is A.


So when i will Select A From Filter all three should be display.

IF I Select B than Rohit2 and Rohit1 Should be display.

IF I Select C than Rohit1 Should be display.


In order for this to work you will have to do some work in Javascript. Here is an initial sketch:


  1. Revise all your conditions so that they have a blank value, and are “Filterable default off”. This will give them a filter name (which you can adjust). Keep the grouping logic as shown above.



  1. Create a new model that groups all your records by region (we are just getting a list of regions here that we can use as a model source)




  2. Then create the permanent region filter on your table and make the following adjustments.

    a. Pick options and Conditions - Manually.

    b. Model Conditions to Affect - None

    c. Create “None Selected” Option - Off.




  3. Add 2 Filter Option Sources of type Manual.

    a. First source properties:


    • Conditions affected: Affect Other Conditions.

    • Lable = “All Regions”

    • Add as many Effects as you have conditions. All the effects should be to deactivate the conditions.


b. Second source will be of type “fields in a model”

- The merge source should be the model you created in step 2.

- The “Conditions the source options affect” property should be “Default condition and others”

- Then create Effects for each condition and pass the “Id” field from the model as the value to inject into those conditions.



This should give you a list of all available regions, and when one is selected, pass it along into all the region conditions you have set up.


Good Luck.


Note: An intial answer provided required some Javascript code.  I subsequently realized that it was not required and edited the response above.  If you are worried about the Javascript - worry  no longer…


Thanks Rob.