Ginkelsoft DataTables provides a powerful filtering system to refine your dataset dynamically. Filters are always enabled and cannot be disabled. Below is a guide on the available filter types and how to use them.
Filter Type | Description |
---|---|
input |
A basic text input field for searching by keyword. |
select |
A dropdown select field where you can define options. |
checkbox |
A checkbox filter, used for boolean values (true/false). |
radio |
A radio button group for selecting predefined options. |
date |
A single date picker filter. |
date-between |
A range filter for selecting records between two dates. |
You can define filters directly in your Livewire DataTable component:
<livewire:datatable
model="App\Models\User"
:columns="['id', 'name', 'email', 'created_at']"
:filters="[
['column' => 'name', 'type' => 'input', 'label' => 'Name'],
['column' => 'email_verified_at', 'type' => 'checkbox', 'options' => ['1' => 'Verified', '0' => 'Not Verified'], 'label' => 'Email Verified'],
['column' => 'role', 'type' => 'select', 'options' => ['admin' => 'Admin', 'user' => 'User'], 'label' => 'User Role'],
['column' => 'created_at', 'type' => 'date', 'label' => 'Created At'],
['column' => 'updated_at', 'type' => 'date-between', 'label' => 'Updated Between'],
]"
/>
input
)['column' => 'name', 'type' => 'input', 'label' => 'Name']
Uses a standard text field for keyword searching.
The query is applied as a LIKE
statement (WHERE column LIKE '%value%'
).
select
)['column' => 'role', 'type' => 'select', 'options' => ['admin' => 'Admin', 'user' => 'User'], 'label' => 'User Role']
Displays a dropdown with predefined options.
Uses WHERE column = value
in the query.
checkbox
)['column' => 'email_verified_at', 'type' => 'checkbox', 'options' => ['1' => 'Verified', 'null' => 'Not Verified'], 'label' => 'Email Verified']
Designed for boolean values (true/false
).
Uses WHERE column = value
in the query.
radio
)['column' => 'status', 'type' => 'radio', 'options' => ['active' => 'Active', 'inactive' => 'Inactive'], 'label' => 'Status']
Works similarly to select
, but displays options as radio buttons.
date
)['column' => 'created_at', 'type' => 'date', 'label' => 'Created At']
Allows filtering by a single date.
Uses WHERE DATE(column) = value
in the query.