Thread ID: |
Created: |
Updated: |
Platform: |
Replies: |
151322 | Feb 6,2020 09:50 PM UTC | Feb 7,2020 07:16 AM UTC | Blazor | 1 |
![]() |
Tags: Query Builder |
@using Syncfusion.EJ2.Blazor.QueryBuilder
@using Syncfusion.EJ2.Blazor.Buttons
<EjsQueryBuilder Columns="@Columns" DataSource="@EmployeeDetails" @ref="QueryBuilderObj" Rule="@ImportRules"></EjsQueryBuilder>
<EjsButton CssClass="e-primary" @onclick="setRules">Set Rules</EjsButton>
<EjsButton CssClass="e-primary" @onclick="getSql">Get SQL</EjsButton>
@code {
EjsQueryBuilder QueryBuilderObj;
public List<QueryBuilderColumn> Columns = new List<QueryBuilderColumn>
{
new QueryBuilderColumn{ Field = "EmployeeID", Label = "Employee ID", Type = "number" },
new QueryBuilderColumn{ Field = "FirstName", Label = "First Name", Type = "string" },
new QueryBuilderColumn{ Field = "TitleOfCourtesy", Label ="Title of Courtesy", Type = "boolean"},
new QueryBuilderColumn{ Field = "Title", Label = "Title", Type = "boolean", Values = new List<string>{ "Mr.", "Mrs." } },
new QueryBuilderColumn{ Field = "HireDate", Label = "Hire Date", Type = "date", Format = "MM/dd/yyyy"},
new QueryBuilderColumn{ Field = "Country", Label = "Country", Type="string"},
new QueryBuilderColumn{ Field = "City", Label = "City", Type = "string"}
};
public List<Employee> EmployeeDetails = new List<Employee>
{
new Employee{ FirstName = "Martin", EmployeeID = "1001", Country = "England", City = "Manchester", HireDate = "23/04/2014" },
new Employee{ FirstName = "Benjamin", EmployeeID = "1002", Country = "England", City = "Birmingham", HireDate = "19/06/2014" },
new Employee{ FirstName = "Stuart", EmployeeID = "1003", Country = "England", City = "London", HireDate = "04/07/2014"},
new Employee{ FirstName = "Ben", EmployeeID = "1004", Country = "USA", City = "California", HireDate = "15/08/2014" },
new Employee{ FirstName = "Joseph", EmployeeID = "1005", Country = "Spain", City = "Madrid", HireDate = "29/08/2014" }
};
public class Employee
{
public string FirstName { get; set; }
public string EmployeeID { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string HireDate { get; set; }
}
protected QueryBuilderRule ImportRules = new QueryBuilderRule()
{
Condition = "and",
Rules = new List<RuleModel>()
{
new RuleModel { Label="FirstName", Field="FirstName", Type="strig", Operator="equal", Value = "Martin" },
new RuleModel { Label="EmployeeID", Field="EmployeeID", Type="string", Operator="equal", Value = "1001" }
}
};
protected void setRules()
{
QueryBuilderObj.SetRulesFromSql("FirstName LIKE ('%Ch%')");
}
protected async void getSql()
{
RuleModel actRule = await QueryBuilderObj.GetRules();
RuleModel rule = await QueryBuilderObj.GetValidRules(actRule);
string sql = await QueryBuilderObj.GetSqlFromRules(rule); // returns the original ImportRules and not the setRules
}
}
|
This post will be permanently deleted. Are you sure you want to continue?
Sorry, An error occured while processing your request. Please try again later.
This page will automatically be redirected to the sign-in page in 10 seconds.