Syncfusion.AspNetCore.QueryBuilder
34.1.31
Prefix Reserved
dotnet add package Syncfusion.AspNetCore.QueryBuilder --version 34.1.31
NuGet\Install-Package Syncfusion.AspNetCore.QueryBuilder -Version 34.1.31
<PackageReference Include="Syncfusion.AspNetCore.QueryBuilder" Version="34.1.31" />
<PackageVersion Include="Syncfusion.AspNetCore.QueryBuilder" Version="34.1.31" />
<PackageReference Include="Syncfusion.AspNetCore.QueryBuilder" />
paket add Syncfusion.AspNetCore.QueryBuilder --version 34.1.31
#r "nuget: Syncfusion.AspNetCore.QueryBuilder, 34.1.31"
#:package Syncfusion.AspNetCore.QueryBuilder@34.1.31
#addin nuget:?package=Syncfusion.AspNetCore.QueryBuilder&version=34.1.31
#tool nuget:?package=Syncfusion.AspNetCore.QueryBuilder&version=34.1.31
Syncfusion® ASP.NET Core QueryBuilder Component
A UI component for building complex SQL-like queries through an intuitive rule editor. Ideal for filter builders, report configurators, and search interfaces without requiring manual query syntax entry.
Key Features
- Visual condition builder with groups and rules
- Supports all common operators: equal, not equal, contains, starts with, between, etc.
- Generates SQL, MongoDB, and JSON query outputs
- Import existing query rules back into the UI
- Custom templates for rule value inputs
- Integration with DataGrid and other data components
- Accessibility and keyboard navigation
Common Setup
All Syncfusion ASP.NET Core controls share the same foundational setup steps:
1. Install NuGet Package
Install-Package Syncfusion.AspNetCore.QueryBuilder
2. Register Tag Helper
Add the following to ~/Pages/_ViewImports.cshtml or ~/Views/_ViewImports.cshtml:
@addTagHelper *, Syncfusion.AspNetCore.QueryBuilder
3. Add Stylesheet & Script References
In your layout file (~/Pages/Shared/_Layout.cshtml):
<head>
<link rel="stylesheet" href="_content/Syncfusion.AspNetCore.Themes/styles/fluent2.css" />
<script src="_content/Syncfusion.AspNetCore.QueryBuilder/scripts/sf-query-builder.min.js"></script>
</head>
4. Register Script Manager
In your layout file (~/Pages/Shared/_Layout.cshtml), At the end of your <body> tag:
<ejs-scripts></ejs-scripts>
Quick Start
Step 1: Create a PageModel
Create ~/Pages/Index.cshtml.cs:
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Collections.Generic;
public class IndexModel : PageModel
{
public List<FilterField> Fields { get; set; } = new List<FilterField>
{
new FilterField { Text = "Age", Value = "Age", Type = "number" },
new FilterField { Text = "Status", Value = "Status", Type = "string" },
new FilterField { Text = "Department", Value = "Department", Type = "string" }
};
public void OnGet()
{
// Initialize query builder
}
}
public class FilterField
{
public string Text { get; set; }
public string Value { get; set; }
public string Type { get; set; }
}
Step 2: Create the View
Create ~/Pages/Index.cshtml:
@page
@model IndexModel
<div class="container mt-5">
<h2>Query Builder Demo</h2>
<ejs-querybuilder id="querybuilder" rule="@(new Rule { condition = "and", rules = new List<Rule>() })" columns="@Model.Fields">
</ejs-querybuilder>
<div class="mt-3">
<button class="btn btn-primary" onclick="getQuery()">Get Query</button>
</div>
</div>
<script>
function getQuery() {
const querybuilder = document.getElementById('querybuilder').ej2_instances[0];
const query = querybuilder.getRule();
console.log(JSON.stringify(query));
}
</script>
Step 3: Run the Application
Press Ctrl+F5 to run the application in your browser.
Documentation
Support
License
This is a commercial product and requires a paid license for possession or use. Review the Syncfusion® EULA
About Syncfusion®
Syncfusion® provides 1600+ UI components and frameworks for web, mobile, and desktop development across multiple platforms:
Web: Blazor | ASP.NET Core | ASP.NET MVC | JavaScript | Angular | React | Vue
Desktop: WinForms | WPF | WinUI
Learn more at www.syncfusion.com
sales@syncfusion.com | Toll Free: 1-888-9-DOTNET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Newtonsoft.Json (>= 13.0.4)
- Syncfusion.AspNetCore.Base (>= 34.1.31)
- Syncfusion.AspNetCore.Buttons (>= 34.1.31)
- Syncfusion.AspNetCore.Calendars (>= 34.1.31)
- Syncfusion.AspNetCore.DropDowns (>= 34.1.31)
- Syncfusion.AspNetCore.Inputs (>= 34.1.31)
- Syncfusion.AspNetCore.Popups (>= 34.1.31)
- Syncfusion.Licensing (>= 34.1.31)
-
net8.0
- Newtonsoft.Json (>= 13.0.4)
- Syncfusion.AspNetCore.Base (>= 34.1.31)
- Syncfusion.AspNetCore.Buttons (>= 34.1.31)
- Syncfusion.AspNetCore.Calendars (>= 34.1.31)
- Syncfusion.AspNetCore.DropDowns (>= 34.1.31)
- Syncfusion.AspNetCore.Inputs (>= 34.1.31)
- Syncfusion.AspNetCore.Popups (>= 34.1.31)
- Syncfusion.Licensing (>= 34.1.31)
-
net9.0
- Newtonsoft.Json (>= 13.0.4)
- Syncfusion.AspNetCore.Base (>= 34.1.31)
- Syncfusion.AspNetCore.Buttons (>= 34.1.31)
- Syncfusion.AspNetCore.Calendars (>= 34.1.31)
- Syncfusion.AspNetCore.DropDowns (>= 34.1.31)
- Syncfusion.AspNetCore.Inputs (>= 34.1.31)
- Syncfusion.AspNetCore.Popups (>= 34.1.31)
- Syncfusion.Licensing (>= 34.1.31)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.