EasyQuery client-side views
/fundamentals/easyquery-client-side-viewsStarting from version 5.0 EasyQuery.JS introduces the concept of a view . "View" - is a set of different EasyQuery widgets assembled to work together on some web page to cover a particular use-case. There are several views available out-of-the-box: AdvancedSearchView ReportView DataFilterView
Build query by code on the client-side
/how-to/build-query-by-code-on-clientsideHere you can find an example of JavaScript code with explanation how to add columns to a current query on client-side.
Attaching extra data to a query on the client-side
/tutorials/attaching-extra-data-to-query-client-sideSometimes it's necessary to attach some extra data to each query (based on some user's input on the client-side) and then use that extra data on query execution. For example, user might want to specify a date (or a period of time) as an additional filter to the any query. To add some extra data you can use beforeExecuteQuery event handler which can be defined on view initialization: Now if you check in Developer Tools (on Network tab), each .../execute request now includes ad additional data object in the request payload. Now to process this additional request data you can create your own implementation of EasyQueryManager and override its ExecuteQueryCore method. Here is an example: Here we just reconfigure our current query and add in it an additional condition group with a bunch of conditions like SomeColumns contains 'filter text' Finally, you need to register your manager class on EasyQuery middleware initialization: NB: Please note that you can read the ClientData property in any method of your custom manager.
Custom client-side dialogs
/tutorials/custom-javascript-dialogs-saving-loadingUsers who use some other dialogs libary usually want to replace those default dialogs with their own. We are going to replace those default dialogs with nice HTML dialogs made with JQuery UI dialogs library. The approach we will use is quite simple: our AdvancedSearchView JavaScript class has several methods which can be "overriden" to replace the default behavior with your own implemenation of those dialogs. In case of using JQuery dialogs we need to define some placeholders (read div elements) on our page where our new dialogs will be rendered. Here is an example: NB: Please note that this step is specific for JQuery dialogs.
Managing data formats
/tutorials/managing-data-formatsThis article shows how to implement some particular tasks with your query
EasyQuery.NET 5.4.1 + EasyQuery.JS 6.1.0 release notes
/release-notes/easyquery-net-5-4-1-easyquery-js-6-1-0Better performance It takes less time and memory for the new grid to render the same amount of data. It's easier now to define the styles for different parts of the grid and to set custom styles for each column or even for a particular cell. The code of our new grid was moved to a separate NPM package ( @easydata/ui ) and so, can be used even without EasyQuery at all. This new widget allows us to define different views for your result set. As already said, our server-side API code (EasyQuery middleware for .NET Core and WebAPI controller for .NET 4.x) was updated to support the new data format and other changes in EasyQuery.JS 6.1.0 Version 5.4.1 also includes a possibility to save/load queries to/from the files on the visitor's computer.
Query saving and loading
/tutorials/query-saving-and-loadingEasyQuery has built-in means for query saving and loading. Here we are going to describe the most common approaches for solving this task
EasyQuery ASP.NET - using jQuery widgets on WebForms project
/getting-started/sample-webforms-javascript-webserviceIn this article, you can find the instructions how to replace native WebForms with our jQuery widgets, with extract examples
Introduction to value editors
/fundamentals/about-data-editorsFor example, value editor allows you to define a list of available values - so your users will be able to select the value from a drop-down list. "Custom list" value editor raises an event which can be processed either on the client-side or on the server. All other editions of EasyQuery (WinForms, WebForms, WPF or Silverlight) has ListRequest event in QueryPanel control which is raised when a user adds an attribute (or operator) with Custom List or SQL list value editor assigned to that attribute/operator. Here we show how you can filter the returned list according to the value specified for some other attribute. If such condition is defined - we get the value (country code) from it and use that value as a filter for the list of regions.
Version 5.1 release notes
/release-notes/version-5-1Version 5.1 is a minor update to version 5.0 which fixes several small bugs and brings few new classes to support authentication/authorization procedures for EasyQuery middleware actions. Core library 1. IEqAuthProvider interface Version 5.1 introduces IEqAuthProvider interface which defines the structure of the authentication provider class
Version 5.0 release notes
/release-notes/version-5-0Version 5.0 is a completely rewritten major update of EasyQuery which now can be used in any ASP.NET Core (version 2.0 and higher) project and with almost any frontend platform (MVC, Razor pages, Angular, React, Vue, etc). There are a lot of changes both on the server-side part and in the client-side library (EasyQuery.JS). Below we will describe the most important ones: Core library
Getting started for ASP.NET Core + Vue project
/getting-started/aspnet-core-vueHow to use EasyQuery library in Vue.js project with ASP.NET Core backend.
EqExpression class
/api-reference-5x/korzh-easyquery-namespace/eqexpression-classRepresents common expression object.
Getting started for ASP.NET Core + React project
/getting-started/aspnet-core-reactHow to use EasyQuery library in React.js project with ASP.NET Core backend.
EqExpression class
/api-reference/korzh-easyquery/korzh-easyquery-namespace/eqexpression-classRepresents common expression object.
Add query builder page from our MVC sample project in your own app
/how-to/mvc-query-builder-view-in-your-appThis article described how to set up an advanced search page in your web-application using EqMvcDemoDB project as a template.
Paging in query results
/tutorials/paging-in-query-resultsPaging can make your work with query more convenient. And here is detailed instruction on how to use it.
Version 7.0 release notes
/release-notes/version-7-0Version 7.0 is a major update of both EasyQuery.NET and EasyQuery.JS. We skipped version 6.x for EasyQuery.NET (the previous was 5.4.x) to sync it with the latest version number of EasyQuery.JS and so, to make it clear that version 7.0 of the scripts requires version 7.0 of the server-side packages. The API endpoints for some actions were renamed in the new version. Provided that they both have the same version 7.0.x One of the most expected features implemented in 7.0 was an ability to set the formatting for the result set data. So, with version 7.0 the best approach will be to create an instance of some EasyQueryManager class descendant (for example, EasyQueryManagerSql ) that is the most suitable for your scenario and use its methods and properties for all necessary operations.
Getting started for EasyQuery ASP.NET MVC
/getting-started/version-3-x/asp-net-mvcThis article will guide you through all steps necessary to apply EasyQuery ASP.NET to MVC web application