Logo
For example "scheduled tasks"
Search
Info
Content
Category Navigation
  • 📖  Manual

  • 👋Welcome

    Welcome to Tadabase

    What Is No-Code?

    Tadabase Support

    Getting Started With Tadabase

    Platform Overview

    🧰The Data Builder

    Data Tables

    Fields

    Text Fields

    Personal Fields

    Number Fields

    Date Fields

    Option Fields

    File and Image Fields

    Equation Fields (Category)

    Equation Fields

    Connection Fields

    Date Equation Examples

    Records

    Record Logs

    Import Templates

    Export Templates

    Automating Tasks

    Number Equation Examples

    Text Equation Examples

    Multi-Function Equation Examples

    ✏️Page Builder

    Page Builder Overview

    Layouts

    Pages

    Components Overview

    PDF Pages (Alpha)

    PDF Pages 2.0

    📗System Components

    System Components Overview

    Menu

    User Menu

    Breadcrumbs

    PDF Print (Alpha)

    Link Button

    Login

    Signup

    Profile

    HTML

    Image

    Subscriptions (Alpha)

    📘Data Components

    Data Components Overview

    Form Component

    Table Component

    List Component

    Kanban Component

    Calendar Component

    Resource Component

    Map Component

    Timeline Component

    Accordion Component

    Card Component

    Chart Component

    Search Component

    Import Component

    Data Source

    Data Source Filtering

    Links

    Display Rules

    Inline Editing

    Data Component Visual Directory

    Custom Component

    Custom Component Helpers

    Writing Your Own Component Helpers

    🙋Users

    Users

    Roles

    Single Sign On (SSO)

    Adding Stripe Subscriptions

    🔒Security and Reliability

    Tadabase Builder Security

    App Security

    User Security

    🔗Integrations

    Zapier Integration

    Using Webhooks

    Saving files to Dropbox

    Adding PayPal payment buttons to your app

    Exporting records to Google Sheets

    Viewing data in Microsoft BI

    Chat Widgets

    REST API

    Using SendGrid for emails

    Saving files to AWS S3 Bucket (IAM Method)

    Incoming Webhooks

    Embeddable Components

    Saving Files to Custom S3 Bucket (Account Method, Recommended)

    PDF Forms

    Stripe Checkout

    JavaScript Callbacks and Actions

    Twilio Integration

    ⚙App Settings

    General Settings

    Layout & Format Settings

    Custom Domain

    Customizing CSS

    Changing app themes

    Support Settings

    404 Error Page

    💳Account

    Plans

    Managing Your Account

    Sharing your app builder

    Managing your Apps

    🧩Pipes

    Introduction to Pipes

    Adding Pipes

    Using Pipes

    PDF Gen V2

Categories
📖 Manual
📘 Data Components
Data Source

Data Source

Filtering Records

By default, all of the records you chose when setting up the data component will be displayed. For example, if you’re working on the details page of a customer and chose to view all the jobs connected to this customer - all records for this customer will be displayed.

If you would like to filter the records to only display certain records based on criteria you choose, you can do so in the Data Source Tab under Filters. In our case if you want to filter the jobs to only show jobs that meet specific criteria (on top of the original criteria) you can do so in the Data Source tab.

You can create as many filter groups, conditions and nested filter groups as you see fit.

Conditions have the following options: Choose the field, operator and value.

For example: Job Status (Field) is (operator) “Open” (value)

You can choose if the conditions should be AND or OR by changing between the “Match All” and  “Match Any” options:

In some cases you might want to nest conditions as a “Child Filter Group” which can give you much filtering flexibility.

For example, suppose we want to find the following jobs in our table:

All jobs where the title contains “Video” AND where status is “Open” OR status is “Pending”.

In most query languages this would look something like this:

`job title` CONTAINS “video” AND

(

`status` = “open”

OR

`status` = “pending”

);

This will first check for any jobs with the title “Video” and then it will check if the status is “Open” or “Pending”.

The relationship between the parent and child filter will always be filtered as “AND.”  So in our case it will check for jobs with the title “Video” and the status is “Open” OR the title is “Video” and the status is “Pending”.

To take this even a step further we can nest another filter below our second filter.

For example, suppose we want to find all jobs where title contains “Video” AND the status is “Open” OR status is “Pending” AND the due date is today.

In most query languages this would look something like this:

`job title` CONTAINS “video” AND

(

`status` = “open”

OR

`status` = “pending”

AND

(

`due date` “is today"

)

);

The following is a comprehensive list of filter options available depending on the field type:

Operator:

For Fields:

is

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Slider

is not

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Slider

contains

Text, Long Text, Rich Text, Name, Email, Address, Phone, Checkbox, Multi-Select

does not contain

Text, Long Text, Rich Text, Name, Email, Address, Phone, Checkbox, Multi-Select

starts with

Text, Long Text, Rich Text, Name, Email, Address, Phone,

ends with

Text, Long Text, Rich Text, Name, Email, Address, Phone,

is blank

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Image, Signature, Slider

is not blank

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Image, Signature

higher than

Number, Currency, Basic Formula, Rating, Slider

lower than

Number, Currency, Basic Formula, Rating, Slider

is unchecked

Decision Box

is checked

Decision Box

is not unchecked

Decision Box

is not checked

Decision Box

size is less than

File

size is greater than

File

file type is

File

file type is not

File

Filters for date fields:

Operator:

Operator Value 1:

is

 

is not

 

is during the current

week, month, quarter, year

is during the previous

X days, weeks, months, years

is during the next

X days, weeks, months, years

is before the previous

X days, weeks, months, years

is after the next

X days, weeks, months, years

is before

 

is after

 

is today

 

is today or before

 

is today or after

 

is before today

 

is after today

 

is blank

 

is not blank

 

is before current time

 

is after current time

 

There are several advanced filtering functions on top of the basic filtering that can be added based on the user who’s currently logged in:

  1. Show records that share a connection with the logged in user.

  2. Show records that are connected to a user who has one of the same role as the logged in user.

For the first scenario, we’ll assume the following data structure.

We have 3 tables:

  • Users

  • Companies

  • Jobs

Each Job belongs to a single company and each User belongs to a company- as can be seen in this diagram:

Suppose we want to view all the Jobs that belong to the same Company that the logged in user belongs to.

Since each User belongs to a specific company, we can easily add a filter to show only his company. But in our case there is no direct connection between the User and the Job. So how can we only show jobs that are for the same company that the user belongs to?

This can be done by adding a “Jobs” component and filtering to only show Jobs where the Company is connected to the Company the logged in user belongs to.

The second advanced filter is the ability to filter records that are connected to a record that is in the same role as the user logged in. That’s a mouthful so let’s break it down.

For this example we’ll assume the following database structure:

We have 2 tables and 3 user roles:

Tables:

  • Jobs

  • Users (our default table)

Each Job belongs to a specific user in our case - the one who created the record.

We also have 3 different user roles: Marketing, Human Resources, and Engineering.

Here is a list of our users currently in the app and their associated roles.

Notice how Jennifer Weiss and Alison Marcus are both assigned the Human Resources role.

Now let’s look at the jobs table.

Notice how Alison has 2 jobs and Jennifer has one job.

Our objective is to allow anyone that shares the same role as the person who created the job the ability to view the job. (For this instance it’ll be helpful to think of each role as a group.)

In this case, suppose Jennifer from Human Resources logs in the app, we want her to see all the jobs created by anyone in the Human Resources team, in this case that would be Alison… and vice versa.

You can accomplish this by adding the filter in the data source to show records where Created By is connected to any logged in user’s roles. As you can see in screenshot below:

Sorting records

You can choose which field is used for sorting records from the server. This can have an impact on which records you see especially when you combine this with limiting how many records you see.

Limit records

By default all records that match the predefined criteria are sent from the database. However, you can limit the number to a specific amount by changing the record limit.

 

How did we do ?

Previous Article
Import Component
Next Article
Data Source Filtering
Article Navigation
  • Filtering Records
  • Sorting records
  • Limit records
  • Back to top
    API
    100% Operational
    Apps
    100% Operational
    Builder
    100% Operational
    Overall Status
    100% Operational