v8.0.0.0
Quick start
Installation
Change log
Formatting
Encoding
Filtering
Sorting
Paging
Footer
Export
Events
Api
Ajax
Localization
Filter modes
Global search
Multiple grids
Html attributes
Custom partials
Row processing
User preferences
DataTable source
Manual processing
Switching normal grid to ajax grid
Filter registration
Filter unregistration
v8.0.0
Added
Added support for using date only and time only columns without additional configuration.
Added support for using different cultures on grid filtering.
Removed
Removed grid's dependency on view context, because it's too specific while http context suffice.
v7.2.1
Fixed
Fixed, grid partial using queryable object for emptiness check, resulting in N+1 queries for each grid.
v7.2.0
Added
Added support for using automatic filter mode, to allow front end framework to use grid's backend more easily.
v7.1.0
Added
Added support for using fuzzy like consists search for text columns.
v7.0.2
Fixed
Fixed, multi sort using column order instead of specified user order to sort the rows.
v7.0.1
Fixed
Fixed, grid pager using first page size instead of the next highest one when requested rows per page doesn't fall into a valid page sizes range.
v7.0.0
Added
Added generic grid column filter interfaces to keep consistency with sorting and make filtering through reflection easier.
Added support for saving column width configuration in resizable grid scenarios.
Added client side validation for invalid rows per page.
Added support for specifying column width.
Improved
Replaced grid loader with a non blocking one, to allow users changing the search parameters in case of mistakes.
Replaced deprecated keyboard key code usages with supported equivalents.
Increased line height to avoid padding issues on different font sizes.
Made it easier to style the grid using sticky headers and footers.
Removed
Removed cache busting on urls, to respect response headers.
v6.2.4
Removed
Removed UTF BOM to reduce problems with byte based bundlers and minifiers.
v6.2.3
Fixed
Fixed, row clicked event crashing on merged columns in custom partials.
v6.2.2
Fixed
Fixed, not applicable filter scenarios crashing on enumerable filters.
Fixed, newly available nullability warnings.
v6.2.1
Fixed
Fixed, grid rows not being enumerated before rendering the grid.
Fixed, rows per page not updating the grid in multiple pager scenarios.
v6.2.0
Added
Added forced row grid row enumeration before rendering the html.
Added support for using client side function for configuring the grid.
Added support for using raw html for empty text row, resolves #275.
Added default styling classes for all built in grid filters, resolves #280.
Added support for using multiple pager visualizations in the grid partial, resolves #281.
Improved
Changed loading timer type to reduce unnecessary nullable types.
Replaced disabled pager button class with an attribute to improve accessibility.
Fixed
Fixed, grid row filter classes being concatenated with normal column classes.
Fixed, pager total rows attribute not being cleaned up after initialization.
Removed
Removed BOM from css file to avoid problems with some bundlers.
v6.1.0
Improved
Made paging reset on client side consistent with server side, by jumping to the last page on overrun.
Fixed
Fixed #260, pager resorting data when it's ordered in descending order.
v6.0.1
Fixed
Fixed, filter popup being closed prematurely, when on-screen keyboard is opened on mobile devices.
v6.0.0
Added
Added support for using multi column sorting by pressing shift or control keys.
Added support for suppressing rejected grid failure promise from bubbling out.
Added support for using default filter provider for unsupported column types.
Added support for changing column order and visibility by the user.
Added support for enabling sorting together with it's options.
Added support for filtering columns with enumerable values.
Added support for unsorting a column on 3rd sort toggle.
Added support for specifying grid column filter case.
Added typescript sources for the client side library.
Improved
Made sortable and filterable column apis enable filter and sort options only then they are not configured.
Renamed source url to url, to avoid confusion that source url is for data only and not the grid itself.
Made pager row selection wider, to improve consistent rendering on different browsers.
Merged extensions with optional parameters into one, to reduce public API surface.
Made grid table styling more specific to avoid styling actual grid content in the cells.
Renamed grid helper classes to keep consistency with other organization libraries.
Made less used extension names shorter to improve grid configuration readability.
Made grid loader recyclable, to avoid flashing it on and off on reloads.
Left only netstandard2.0 target, because net47 already implements it.
Reduced filter expression sizes to improve possible query execution.
Made table padding more consistent across different filter modes.
Made grid url management simpler, by using native url interfaces.
Reduced html footprint in generated html.
Migrated the client side library to ES6.
Fixed
Fixed #252, rows change not resetting current page resulting in no rows on last pages.
Fixed, already applied but empty value filters being cancelled on filter reapply.
Fixed, inconsistent popup closure in various similar contexts.
Fixed, sorting arrows spacing inconsistently on zoom.
Removed
Removed support for translating grid names into dash spaced string representation, resolves #225.
Removed support for specifying grid column's initial sort.
Removed support for changing fetch request method.
v5.1.2
Fixed
Fixed, filter options using to string conversion which can not always be translated into sql.
v5.1.1
Fixed
Fixed, null enum values throwing exceptions on render.
v5.1.0
Added
Added nullability context annotations.
Removed
Removed unused row css classes in the grid partial.
v5.0.1
Fixed
Fixed, grid column names using broader range of expressions than filtering and sorting.
Fixed, grid firing cancelable events on IE even through they can not be cancelled.
Fixed, empty column titles collapsing the header.
v5.0.0
Added
Added support for opening filter popup automatically, when header input is applied from option list.
Added support for transforming grid and column names to match default grid column naming.
Added support for automatically enabling the filter if filter options are applied on the column.
Added support for filtering more than two values at once using the same filtering method.
Added sorting option for header filtering mode to improve usability, resolves #192.
Added support for using current row index in grid value rendered.
Added support for clearing grid data from the query.
Added optional value to all automatic filter options.
Added support for applying multiple filters at once.
Added overflow ellipsis on long grid filter values.
Added api support for hiding columns.
Improved
Moved from click events for grid filter popup closure check to mouse down and touch start ones.
Made unavailable filters not rendered at all to prevent runtime exceptions, resolves #200.
Made grid query implementation be closer to actual url search params implementation.
Moved manual processing type configuration from processors to the grid itself.
Made grid query lazily loaded, to allow query non request queries to be used.
Made all data referenced in javascript api lower cased to keep consistency.
Renamed all the extensions to follow "UsingX" naming pattern.
Moved filter data initialization from inline html data to url query.
Moved from first filter popup element focus to the actual value.
Replaced multi filtering option with a double filter type one.
Disabled second filter parsing if multi filtering is disabled.
Made attributes with null values not rendered at all.
Replaced unicode based arrows with font icons.
Renamed static content paths to lowercase.
Reduced html footprint in generated html.
Shortened grid filter mode names.
Fixed
Fixed, microsoft edge rendering semi transparent checkmark by default.
Fixed, grid dropdowns not using white color on some mobile devices.
Fixed, html grid not using grid's context when it's available.
Fixed, filter popup not being hidden on manual filter apply.
Fixed, second filter being applied instead of the first one.
Removed
Removed row css classes, because they can be expressed using row attributes.
Removed null check on grid query initialization.
v4.1.2
Fixed
Fixed, filter popup being closed prematurely, then on-screen keyboard is opened on mobile devices.
v4.1.1
Fixed
Fixed #193, grid attributed extension dropping old attributes.
v4.1.0
Added
Added support for using equals method as a default for column filter with options.
Added support for using distinct column values as filter options, resolves #186.
Improved
Made filtering more resilient to unavailable filter method usage.
Made enum options always ordered by ascending text order.
v4.0.3
Fixed
Fixed, header row filter not updating row input values, when input is a selection dropdown.
Fixed, inline filter inputs cutting letters which pass the baseline height.
Fixed, dropdown based filters not working in microsoft browsers.
Fixed, not all filter modes clearing the visible filter values.
v4.0.2
Fixed
Fixed, grid column values written without taking html encoder into a consideration.
Fixed, pager always creating a static margin, even when it's not shown.
Fixed #173, grid buttons making submits if used in a form.
v4.0.1
Fixed
Fixed, dom events not being initialized correctly on internet explorer.
v4.0.0
Added
Added support for cycling tab focus when filter popup is opened.
Added support for closing grid filter popup on pressing escape.
Added support for automatically filtering guid values.
Added support for specifying default filter method.
Added automatic grid query sorting while paging.
Improved
Improved ajax grid error handling, by giving the user description of possible problems.
Improved grid exception message when grid element is not passed to the constructor.
Improved grid reloading on urls modified by history.pushState method, resolves #158.
Renamed boolean filter options, to keep consistency with what is shown in the table.
Made header row filter input width dynamically aligned with it's placeholder length.
Improved how columns with expressions containing underscored are named.
Changed synchronous partial calls with asynchronous ones, resolves #165.
Made readonly header row value not tabbable.
Made disabled sort and filter values read only.
Merged `showLoading` option to `loadingDelay`.
Made boolean filter localization easier.
Made grid styling use relative sizing.
Fixed
Fixed, page sizes not shown in normal height in internet explorer.
Fixed, filter method and value fields not being aligned correctly.
Removed
Removed `?` from the query string if the search is empty.
Removed all javascript based dependencies.
v3.1.0
Improved
Updated minimum mvc package version requirements to encourage people to get security fixes.
Made grid scripts multi include compliant.
Fixed
Fixed, string contains filter not working in net core 2.1.
v3.0.0
Added
Added support for loading normal grid with the original request and switching to ajax one.
Added support for restricting how many rows per page can be served by the grid.
Added support for using zero as a indication that grid rows should not be paged.
Added support for using empty filter value as null in all default grid filters.
Added support for showing loading screen on longer loading ajax grids.
Added support for adding html attributes on grid row elements #101.
Added support for skipping substring based filters on empty values.
Added support for appending css classes to grids and columns.
Added support for enabling filtering together with multi filtering.
Added support for using different filtering modes on the grid.
Added support for automatically filtering enum values.
Added support for specifying grid filter select options.
Added support for using separate value as a grid id.
Added support for specifying ajax grid attributes.
Added support for customizing grid page sizes.
Added default invalid grid filter styling.
Added default grid filter styling.
Improved
Switched grid data initialization from .data to .attr method, to avoid string value type conversions.
Improved grid and tag helper compatibility by removing tag helpers from dynamic tags #122.
Moved grid column sorting variables out of grid column to the grid column sort instance.
Improved date filter type linguistics, by using more know words for comparing dates.
Moved grid column filter variables out of grid column to the grid column filter itself.
Improved default grid styling to avoid requiring additional styling after installation.
Replaced generic type constraint on grid column extensions with generic interface.
Made grid filter extensibility easier, by providing a base filter to extend.
Moved page data from the pager's list item to it's anchor tag.
Made grid query use lower cased with camel case splitting.
Made default grid installation and usage easier.
Moved html grid helper methods to extensions.
Made grid query case insensitive.
Improved pager accessibility.
Fixed
Fixed, grid partial incorrectly checking for first filter nullability, resulting in null reference exceptions.
Fixed, long horizontal grids overflowing their parent container, resulting in bad user experience.
Fixed, grid filter popup not always expanding on wider buttons or filter types.
Fixed, grid rows per page not being preserved in the url if grid is empty.
Fixed, pager not setting total pages correctly, if page size is set to 0.
Fixed, ajax grid update causing flickering on slower machines.
Fixed, grid pager data not set correctly in javascript object.
Removed
Removed bootstrap specific classes, to remove indirect dependencies on bootstrap framework.
Removed ajax grid partial, because it can be easily replaced by faster tag builder code.
Removed css classes property, because it's already available from grid html attributes.
Removed empty string fallbacks from grid initialization to allow zero value usage.
Removed grid empty class, because it already has a named parent.
Removed rows parameter from url for grids without page sizes.
Removed filterable and sortable methods using parameters.
Removed pagination class from pager element.
Removed unnecessary grid column interfaces.
v2.3.0
Added
Added support for reloading grid using named methods.
Added support for using original row clicked event from grid's rowclick event.
Added support for getting grid instance through named a named method call.
Improved
Improved grid and bootstrap modal compatibility.
Fixed
Fixed, grid filter popup being not being positioned correctly when grid escapes window boundaries.
Fixed, filter popup arrow not being aligned with the filter icon when opened.
Fixed, grid popup filter sometimes being repositioned off screen.
v2.2.0
Added
Added support for having multiple grid event handlers through jQuery event binding.
Fixed
Fixed, grid source url not being set to the grid instance while setting options.
Fixed, reload ended using old grid as it's context.
Removed
Removed manual processing from grid pager, because it's not being called by the grid anyway.
v2.1.1
Fixed
Fixed, empty grid row triggering row clicked event.
v2.1.0
Added
Added support for using the grid with the latest mvc version.
Fixed
Fixed, rows per page change event not being bound to grid specific namespace.
v2.0.0
Added
Added support for generating readable grid queries for grids without names.
Added, support for adding html attributes on grid table element.
Added support for rendering user specified grid footer partial.
Added support for creating columns without an expression.
Added support for using dynamic ajax grid source url.
Added support for setting grid options to null values.
Added support for manual data paging.
Improved
Made grid initialization easier, by allowing inner grid elements to be used as an initialization root.
Replaced static grid filter images with font glyphs, to improve control over their styling.
Moved grid column helper methods to extensions.
Restyled grid filter icons to improve usability.
Fixed
Fixed, grid table not styled at all if expected css framework dependency is not included.
Removed
Removed grid parameter from grid functions, because it's available from `this` variable.
v1.4.0
Added
Added support for not showing an empty row if grid's empty text is null.
Improved
Made pager visible then it contains only one page, to improve usability for #42.
Fixed
Fixed #49, grid pager not styled at all if expected css framework dependency is not included.
Fixed #53, multi date filter always using first filter value for it's second filter input.
Fixed, not equals filter not being included in a second part of multi filter.
v1.3.0
Added
Added support for recalculating popup position on window resize, instead of closing it.
Added support for reloading grid with a new query being passed and an option.
Added support for reloading grid with post data.
Improved
Improved grid styling compatibility with bootstrap's grid classes.
Fixed
Fixed, filter popup being closed prematurely, then on-screen keyboard is opened on mobile devices.
v1.2.0
Added
Added support for using new jQuery 3.x libraries.
Fixed
Fixed, pager's current page being empty on not visible pagers.
v1.1.0
Added
Added support for not equals filter.
v1.0.0
Features
Multiple grids on page
Fluent configuration
Automatic filtering
Automatic sorting
Automatic paging
User friendly urls
Globalization
Multi filterin
Ajax support