1. Data search

    Article: AN0001644Updated: 21.09.2018

    There is number of ways how to search data in ObjectGears.

    Quick filter

    Each class can have Quick filter displaying fields for filtering data in the class. It is a simple filter with a straight-forward use case. However, this filter does not enable advanced filtering with combination of various conditions like ObjectGears filter.

    ObjectGears filter

    This filter enables to use number of filtering conditions depending on column data type, combination of conditions by means of operators ANDto filtr umožňuje použití řady podmínek filtrování v závislosti na datovém typu sloupce, kombinování podmínek pomocí operátorů AND, OR or parentheses or filtering of parent records based on child class. This filter can be set up by user or can be controlled by means of Url or script (see hereinafter). ObjectGears filter can be used not only for searching data in class or query records, in look up forms or master-detail relations but it is used also in a number of other places in the system (filtering in exports, imports, notifications etc.).

    Filter saving and copying

    Users can save filters in their menu of favourite items (see left vertical menu). Filter can be also sent to another user in a form of Url link, that contains filter definition (see hereinafter Url filter). Tento Url odkaz je dostupný pod volbou Copy url (see cogged wheel in the upper right screen corner).

    Url filter

    Records can be also filtered by means of Url filter. User can than be provided with links (on buttons, in data etc.), that will set up ObjectGears filter and display the filtered records.

    Filtering in the list of records

    In the list of records data can be filtered by means of right mouse clicking on certain cell of the displayed record. Then you just choose in the context menu wwhether the selected value should be filtered or filtered out. By repeated clicking on the cells of records you can select step by step the requested set of records.

    This filtering can be applied in majority of column types (it is not applied e.g. for files or multiple references).

    Filtering by means of script - on a button or in class/query properties

    Records can be also filtered by means of script on a button or in class/query properties (set up applied at record list display), that sets up ObjectGears filter and displays filtered records. See examples.

    Queries

    Other possibility is work with queries, that take over variables (e.g. Id of the record from which they are called or Id of the user, that runs the query).

    Fulltext search

    There can be fulltext indices switched on on text columns, which enables search reflecting various word flexion (declination, conjugation), word breaking specifics or accent insensitivity.

    Global search

    ObjectGears supports also global search throughout various models, that the users can use when they do not know exactly in which model and in which class the searched data can be found. Prerequisite for use is including the particular text column in global search. This can be done by IT owner of the model. User can use for the search textbox in the upper right corner in the ObjectGears page. Access rights are fully respected by this search. Only records, that the user can access via Reading data list, are displayed. Records are divided in sections according to the class/query, they belong to. If the user has access right Reading data detail, he/she can navigate to the detail by clicking on the value in the column Id. If only one record is found during global search, detail of this record is directly returned to the user.

    Issue in search for data

    When searching for data by means of sql or filters, we need to count with following behaviour.

    Let`s have a class, in which we have records. We add to this class column ACTIVE, that will be mandatory. Default value of the column will be false. After that we will add new records into the class.

    This will cause that the original records before adding the column will have in the column value NULL and the new record true or fale. ObjectGears will interprete value NULL in column Yes/No as false and it will be displayed in GUI like this.

    The issue occurs when filtering for value false in scripts or directly in SQL. If you do not perform initialization of existing records after column adding, you have to count with this also in filters and SQL. In order to take care of it in SQL use following expression:

    (col is null or col = 0)

     

    You can update the data in several ways:

    1. update each record separately
    2. mass update of all the records
    3. update by script
    4. update in the database
×