A Data Selector is a GeneXus object for storing a set of Parameters, Conditions, Orders, and a Defined By clause, in order to invoke it from different queries, calculations, etc. and reuse the same navigation several times.
Defining Data Selectors brings the following advantages:
- Saving and reusing code: You define a Data Selector once, and you can use that definition in several places in the Knowledge Base
- Less maintenance: You change a Data Selector definition in one place, and it applies automatically everywhere it is used in the Knowledge Base
- They facilitate new GeneXus users training: They provide code encapsulation, and are easy to learn, define and use
Example:

Look at the “Customer” transaction above. It contains the CustomerStatus attribute, and one of the possible values that it stores is “Active”.
Suppose that you need to query the "active customers" (CustomerStatus= “Active”) in many objects. For example:
- a procedure of active customers, grouped by Gender
- a procedure that applies a discount for active customers
- a web panel that shows the total purchases of each active customer
So, it is appropriate to define a Data Selector with the filter condition, and invoke it from the necessary places.
Defining Data Selectors
Once a Data Selector has been created, it basically contains:
- A structure (here Parameters, Orders, Filters and Defined By clauses are defined)
- Documentation
- Properties
Look at the following images, which show a Data Selector named "ActiveCustomers" that defines the proposed filter:
Data Selector Editor (to define stucture): Properties Window (to define properties):

Invoking Data Selectors
Once a Data Selector is defined, it can be invoked from:
See Also
Video about Data Selectors here (in spanish).
|