On my projects I usually use a lot of grids to customize the app - handle the users, roles, navigation, LOVs, settings... so I create a page, which lists all IG regions and performs some checks, to make sure grids are setup in a way I like it.
If you hover on the orange warning icon it will actually show you the message describing what is wrong.
You can see the list of grids, source, target (procedure handling the grid changes and table behind) and some other checks. Things I check:
- region source type (T) - I prefer to use the view, so I check for that and for the name, if the view contains same page id
- grid process/handler (T) - Invoke API is my new best friend, PL/SQL code is fine... I also check if the process name match the procedure name and if the package name contains same page id
- passed/submitted page items (P) - I also check if I pass every page item which I use in the view, to make sure that I have proper grid refresh
- authorizations - check authorization scheme set on region (R), process (P) and on specific DML operations (C), (U), (D)
I am not telling you that you have to create view and process every time. Sometimes use table directly with default process/handler is perfectly fine. You don't have to set authorization schemes on each of these component neither. The naming conventions are up to you.
The point is, that if you are using a lot of same components, you should explore the APEX dictionary/views and create a simple report/query to see what is setup differently.