Column Control Search
The columnControlSearch() API provides advanced search functionality with control logic. This allows DataTables to send column control search parameters including logic operators, value lists, and date masks.
Overview
Column control search supports multiple search types:
| Type | Logic Options | Description |
|---|---|---|
text |
equal, not, contains, notContains, starts, ends |
Text-based searches |
num |
equal, not, greater, less, greaterOrEqual, lessOrEqual |
Numeric comparisons |
date |
equal, notEqual, greater, less, greaterOrEqual, lessOrEqual |
Date comparisons |
Frontend Setup
Enable column control search in your JavaScript:
$('#users-table').DataTable({ processing: true, serverSide: true, ajax: '/user-data', columns: [ { data: 'id', name: 'id' }, { data: 'name', name: 'name' }, { data: 'created_at', name: 'created_at' } ], searchPanes: { controls: true }});
Backend Handling
The backend automatically processes column control search parameters. Use filterColumn() for custom handling:
use Yajra\DataTables\Facades\DataTables;use App\Models\User;use Illuminate\Database\Eloquent\Builder; Route::get('user-data', function() { return DataTables::eloquent(User::query()) ->filterColumn('status', function(Builder $query, $keyword) { // Handle comma-separated values from list control $values = explode(', ', $keyword); $query->whereIn('status', $values); }) ->toJson();});
Supported Operators
Text Operators
equal- Exact matchnot- Not equalcontains- Contains substringnotContains- Does not containstarts- Starts withends- Ends withempty- Is emptynotEmpty- Is not empty
Numeric Operators
equal- Equal tonot- Not equal togreater- Greater thanless- Less thangreaterOrEqual- Greater than or equallessOrEqual- Less than or equal
Date Operators
- All numeric operators plus:
notEqual- Date not equal (excludes NULL values)
See Also
- Filter Column - Custom column filtering
- SearchPanes Extension - SearchPanes integration