Skip to content

Build query by code on the client-side

When you work with EasyQuery.JS to build a project (for example MVC-project) you work with two Query objects. First is on the server-side (it’s accessible by GetQuery method of EqServiceProviderDb) and other - on the client-side (you can get it using EQ.client.getQuery() function).

Sometimes it’s necessary to add query columns and/or conditions by code. Here is an article which describes how to do it with server-side query object.

And here is an example of JavaScript code which adds a condition and two columns (one of them an aggregate one) into current query on client-side:

var query = EQ.client.getQuery();
query.addSimpleCondition({ attr: "Customers.CompanyName", operator: "StartsWith", value: "A" });
query.addColumn({
"caption": "Country",
"sorting": "Ascending",
"expr": {
"typeName": "ENTATTR",
"id": "Customers.Country"
}
});
query.addColumn({
"caption": "Orders total",
"sorting": "None",
"expr": {
"func": "SUM",
"typeName": "AGGRFUNC",
"argument": {
"typeName": "ENTATTR",
"id": "Orders.Freight"
}
}
});