The JavaScript Query Builder is a rich and responsive UI for filtering large amounts of data by creating or editing conditions that can be combined with data visualization controls like DataGrid and Charts to view the filtered data. It outputs structured JSON filters that can be easily parsed to create SQL queries. It allows you to create conditions and group them using AND/OR logic.
JavaScript Query Builder can be bound to data from a variety of data sources in the form of a JavaScript object array collection. It auto populates the data source and maps the data to the appropriate fields.
Integrating the Data Manager control with JavaScript Query Builder simplifies communication with a data source and returns the desired result based on the provided filters.
Templates are used to create a custom user experience. JavaScript Query Builder provides template support to integrate with other input components such as Dropdown List, AutoComplete , Checkbox, Slider, and others.
JavaScript Query Builder supports a summary view that outputs the filter query in SQL format.
Import and export Query Builder data to and from structured JSON and SQL formats.
JavaScript Query Builder provides a responsive mode that gives an adaptive, redesigned UI appearance for mobile devices and a great user experience on all phone, tablet, and desktop form factors.
Easily get started with JavaScript Query Builder using a few simple lines of HTML and TS code, as demonstrated below. Also explore our JavaScript Query Builder Example that shows you how to render and configure the JavaScript Query Builder Component.
<div class=" control-section">
<div id="querybuilder" class="row">
</div>
</div>
import { QueryBuilder, ColumnsModel, RuleModel } from '@syncfusion/ej2-querybuilder';
import { employeeData } from './data-source';
let columnData: ColumnsModel[] = [
{ field: 'EmployeeID', label: 'Employee ID', type: 'number' },
{ field: 'FirstName', label: 'First Name', type: 'string' },
{ field: 'TitleOfCourtesy', label: 'Title Of Courtesy', type: 'boolean', values: ['Mr.', 'Mrs.'] },
{ field: 'Title', label: 'Title', type: 'string' },
{ field: 'HireDate', label: 'Hire Date', type: 'date', format: 'dd/MM/yyyy' },
{ field: 'Country', label: 'Country', type: 'string' },
{ field: 'City', label: 'City', type: 'string' }
];
let importRules: RuleModel = {
'condition': 'and',
'rules': [{
'label': 'EmployeeID',
'field': 'EmployeeID',
'type': 'number',
'operator': 'equal',
'value': 1
},
{
'label': 'Title',
'field': 'Title',
'type': 'string',
'operator': 'equal',
'value': 'Sales Manager'
}]
};
let qryBldrObj: QueryBuilder = new QueryBuilder({
width: '70%',
dataSource: employeeData,
columns: columnData,
rule: importRules
});
qryBldrObj.appendTo('#querybuilder');
The Query Builder component is also available in Blazor, React, Angular, and Vue frameworks. Check out the different Query Builder platforms from the links below,
The JavaScript Query Builder supports several built-in themes such as material, bootstrap, fabric (office 365), and high contrast. The users can customize any one of these built-in themes or create new themes to achieve their own desired look and feel either by simply overriding SASS variables or using our Theme Studio application with ease.
We do not sell the JavaScript Query Builder separately. It is only available for purchase as part of the Syncfusion JavaScript suite, which contains over 70 JavaScript components, including the Query Builder UI. A single developer license for the Syncfusion Essential Studio for JavaScript suite costs $995.00 USD, including one year of support and updates. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
You can find our JavaScript Query Builder demo here.
No, our 70 JavaScript components, including Query Builder UI, are not sold individually, only as a single package. However, we have competitively priced the product so it only costs a little bit more than what some other vendors charge for their Query Builder UI alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 70 JavaScript components for a flat fee of $995/developer. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.