--- title: "Features" description: "Manipulate and format your grid's data. Aggregation. Built-In CRUD Functionality. Currency Types. Easy Integration." url: https://www.zinggrid.com/features --- ```text experiment_id: web-retrieval-v1 fixture_id: /features.md mode: provenance representation: markdown origin_response_id: c509a36483ab21894e824252adc69bd5 version: 2026-10-21 version_created_at_utc: 2026-10-21T20:42:35.786Z version_nonce: 1ef1a8541212e02b7e9a43870b98c7c6 generated_at_utc: 2026-10-31T09:22:58.567Z response_nonce: 864f3fc7f60333a56979ac87164bc515 ``` **Features** # ZingGrid has more than **35 features** to help you visualize your data **faster than ever** ## Here are just a few of the features you can start using **in under 5 minutes** [Aggregate Row](https://www.zinggrid.com/docs/features/aggregation) [Batch Editing](https://www.zinggrid.com/docs/features/batch-editing) [Title Captions](https://www.zinggrid.com/docs/features/caption) [Column Types](https://www.zinggrid.com/docs/features/column-types) [Custom Headers](https://www.zinggrid.com/docs/features/column-headers) [Draggable Columns](https://www.zinggrid.com/docs/features/dragging) [Filtering](https://www.zinggrid.com/docs/features/filtering) [Frozen Columns](https://www.zinggrid.com/docs/features/frozen-columns) [Gridlines](https://www.zinggrid.com/docs/features/gridlines) [Paging](https://www.zinggrid.com/docs/features/paging) [Search](https://www.zinggrid.com/docs/features/search) [Sorting](https://www.zinggrid.com/docs/features/sorting) # ZingGrid is Built with Accessibility in Mind Data tables often are the least accessible part of a site. With ZingGrid, you won't have to think twice about it. Build interactive data grids that follow the three biggest accessibility standards in the #a11y community. [Learn More](https://www.zinggrid.com/docs/features/accessibility/) ## **Features Overview** for ZingGrid ### Manipulate and format your grid's data - [Aggregation](https://www.zinggrid.com/docs/features/aggregation) - [Built-In CRUD Functionality](https://www.zinggrid.com/docs/crud/basics) - [Easy Integration](https://www.zinggrid.com/docs/features/integration) - [Performance](https://www.zinggrid.com/docs/features/performance) - [Remote & Inline Data](https://www.zinggrid.com/docs/features/data) - [Rich API](https://www.zinggrid.com/docs/features/api) - [Server Features](https://www.zinggrid.com/docs/features/server-features) - [Server-Side Rendering](https://www.zinggrid.com/docs/features/server-side-rendering) - [Static & Dynamic Data](https://www.zinggrid.com/docs/features/data) ### Make your data come alive with interactivity - [Batch Editing](https://www.zinggrid.com/docs/features/batch-editing) - [Context Menu](https://www.zinggrid.com/docs/features/context-menu) - [Dialog Modal](https://www.zinggrid.com/docs/features/dialog-modals) - [Dragging](https://www.zinggrid.com/docs/features/dragging) - [Drilldown](https://www.zinggrid.com/docs/features/drilldown-grids) - [Editing](https://www.zinggrid.com/docs/features/editing) - [Exporting Data](https://www.zinggrid.com/docs/features/exporting-data) - [Filtering](https://www.zinggrid.com/docs/features/filtering) - [Filtering Advanced](https://www.zinggrid.com/docs/features/filtering-advanced) - [Filtering Summary Chart **(Version 2) (New!)**](https://www.zinggrid.com/docs/features/filtering-summary-chart) - [Paging](https://www.zinggrid.com/docs/features/paging) - [Row Details](https://www.zinggrid.com/docs/features/row-details) - [Row Grouping](https://www.zinggrid.com/docs/features/row-grouping) - [Search](https://www.zinggrid.com/docs/features/search) - [Selection](https://www.zinggrid.com/docs/features/selection) - [Sorting](https://www.zinggrid.com/docs/features/sorting) - [Status](https://www.zinggrid.com/docs/features/status) - [Virtual Scrolling](https://www.zinggrid.com/docs/features/virtual-scrolling) ### Customize the look & feel of your grids & tables - [Buttons](https://www.zinggrid.com/docs/features/button) - [Captioning](https://www.zinggrid.com/docs/features/caption) - [Column Headers](https://www.zinggrid.com/docs/features/column-headers) - [Column Types](https://www.zinggrid.com/docs/features/column-types) - [Conditional Formatting](https://www.zinggrid.com/docs/features/conditional-formatting) - [Crosshair](https://www.zinggrid.com/docs/features/crosshair) - [Custom Columns](https://www.zinggrid.com/docs/features/custom-columns) - [Frozen Columns](https://www.zinggrid.com/docs/features/frozen-columns) - [Frozen Rows](https://www.zinggrid.com/docs/features/frozen-rows) - [Gridlines](https://www.zinggrid.com/docs/features/gridlines) - [Layouts](https://www.zinggrid.com/docs/features/layouts) - [Loading Screen](https://www.zinggrid.com/docs/features/loading-screen) - [Media Types](https://www.zinggrid.com/docs/features/media-types) - [Mobile](https://www.zinggrid.com/docs/features/mobile) - [Nested Content](https://www.zinggrid.com/docs/features/nested-content) - [Source](https://www.zinggrid.com/docs/features/source) - [Viewports](https://www.zinggrid.com/docs/features/viewport) - [Zebra Striping](https://www.zinggrid.com/docs/features/zebra-striping) # ZingGrid works in all major browsers - CHROME ![Chrome Logo](https://storage.googleapis.com/zingchart-com.appspot.com/chrome-logo.svg) - FIREFOX ![Firefox Logo](https://storage.googleapis.com/zingchart-com.appspot.com/firefox-logo.svg) - SAFARI ![Safari Logo](https://storage.googleapis.com/zingchart-com.appspot.com/safari-logo.svg) - EDGE ![Edge Logo](https://www.zinggrid.com/assets/img/features/edge-logo.svg) - IE ![Internet Explorer Logo](https://storage.googleapis.com/zingchart-com.appspot.com/internet-explorer-logo.svg) - OPERA ![Opera Logo](https://storage.googleapis.com/zingchart-com.appspot.com/opera-logo.svg) - ANDROID ![Android Logo](https://storage.googleapis.com/zingchart-com.appspot.com/android-logo.svg) - IOS ![iOS Logo](https://storage.googleapis.com/zingchart-com.appspot.com/ios12-logo.svg) ## **Manipulate and format** your grid's data with ZingGrid - ![Aggregation Grid Illustration](https://www.zinggrid.com/assets/img/features/feature-aggregation.svg) ### Aggregation ZingGrid has default behaviors for calculating the average, count, min, max, and sum values for a given row or column. These aggregation values can be displayed as a single column or row of the grid, respectively. [Learn about Aggregation](https://www.zinggrid.com/docs/features/aggregation) - ### Static & Dynamic Data ZingGrid is very flexible when it comes to inputting data into the grid. Add static data on render, and update it on demand. [Learn about Data](https://www.zinggrid.com/docs/features/data) - ### Remote & Inline Data Add data inline, locally, or connect via API. Serve data partially via pagination or sequentially via infinite scroll, all out-of-the-box. [Learn about Inline Data](https://www.zinggrid.com/docs/features/data) - ### Easy Integration ZingGrid elements are native Web Components; easily integrate into your development stack! [Learn about Integration](https://www.zinggrid.com/docs/features/integration) - ### Performance ZingGrid was built with performance in mind. Several key features can help you render data more quickly, from infinite scrolling to server-rendering the grid. [Learn about Performance](https://www.zinggrid.com/docs/features/performance) - ### Rich API ZingGrid supports a rich API that leverages what web developers already know - the native DOM API. Treat ZingGrid elements like standard HTML elements; apply CSS, bind events, and add event listeners. [Learn about our API](https://www.zinggrid.com/docs/features/api) - ### Server Features ZingGrid has built-in parameters to connect & query server REST endpoints. Connect to your data, then filter it via pagination, built-in search, or column filtering. [Learn about Server Features](https://www.zinggrid.com/docs/features/server-features) - ### Server-Side Rendering Skip a browser execution step by server-rendering or pre-rendering your grid, then hydrating it on the client. [Learn about SSR](https://www.zinggrid.com/docs/features/server-side-rendering) - ### Built-In CRUD Functionality Add CRUD functionality with built-in REST and Firebase support, or customize the grid (with tools) to fit your setup. [Learn about CRUD](https://www.zinggrid.com/docs/features/api) ## Make your data come alive with **interactivity** - ### Batch Editing ZingGrid supports batch editing, which is enabled by applying the `batch-edit` attribute to your `` instance. After that, you can make multiple edits, deletions, and insertions to your grid. [Learn about Batch Editing](https://www.zinggrid.com/docs/features/batch-editing) ![Batch Editing Grid Illustration](https://www.zinggrid.com/assets/img/features/feature-batch-editing.svg) - ### Context Menu ZingGrid has a default context menu that lets you insert, edit, and remove data records. Simply enable it by adding the corresponding attribute to your `` instance. [Learn about Context Menus](https://www.zinggrid.com/docs/features/context-menu) ![Context Menu Grid Illustration](https://www.zinggrid.com/assets/img/features/feature-aggregation.svg) - ### Dialog Modal ZingGrid's modal dialog feature is pre-built with properties such as centering, masking the background, and clicking away to cancel. It is fully customizable and extensible with events. [Learn about Dialogs](https://www.zinggrid.com/docs/features/dialog-modals) - ### Dragging Quickly rearrange or hide columns via mouse or touch dragging. [Learn about Dragging](https://www.zinggrid.com/docs/features/dragging) - ### Drilldown Leverage ZingGrid's robust API of methods and events to segment grid data into a drilldown hierarchy. [Learn about Drilldowns](https://www.zinggrid.com/docs/features/drilldown-grids) - ### Editing Enable via attribute, then double-click any cell to activate the editor. Enable the row/record controls to edit all record properties at once. [Learn about Editing](https://www.zinggrid.com/docs/features/editing) - ### Exporting Data ZingGrid has a default set of export features through `getData()` as well as other customizable export features through our API. [Learn about Exporting](https://www.zinggrid.com/docs/features/exporting-data) - ### Filtering Easily add per-column data filtering. [Learn about Filtering](https://www.zinggrid.com/docs/features/filtering) - ### Paging Use paging options to load and render a subset of data to improve performance. Choose from traditional server-side pagination, cursor-based pagination, or infinite scrolling. Use the built-in UI controls or customize to your needs. [Learn about Paging](https://www.zinggrid.com/docs/features/paging) - ### Row Details Enable via attribute or ZGRowDetails component to add expandable rows to your grid. [Learn about Row Details](https://www.zinggrid.com/docs/features/row-details) - ### Row Grouping Group rows by specifying which column indices to group by. [Learn about Row Grouping](https://www.zinggrid.com/docs/features/row-grouping) - ### Search Enable grid search with one attribute; add column exclusions just as easily. [Learn about Searching](https://www.zinggrid.com/docs/features/search) - ### Selection ZingGrid offers multiple ways to make selections on your grid. Select by cell, row, or multiple categories. [Learn about Selections](https://www.zinggrid.com/docs/features/selection) - ### Sorting Enable column sorting with one attribute; add per-column exclusions just as easily. [Learn about Sorting](https://www.zinggrid.com/docs/features/sorting) - ### Status Customize the appearance of the built-in status box, or use it for your own alerts. [Learn about Statuses](https://www.zinggrid.com/docs/features/status) - ### Virtual Scrolling In ZingGrid, virtual scrolling is called `infinite scrolling`, and is a flexible performance feature. Enable with Firebase in one line, or connect with any remote API (may need slight configuration). [Learn about Scrolling](https://www.zinggrid.com/docs/features/virtual-scrolling) ## **Customize the look & feel** of your grids & tables - ![Buttons Grid Illustration](https://www.zinggrid.com/assets/img/features/feature-button.svg) ### Buttons The `` element is used both for core, internal buttons as well as offering a styled and flexible component for custom use. Depending on how it is used, ZingGrid interprets how to render the button accordingly. [Learn about Buttons](https://www.zinggrid.com/docs/features/button) - ### Captioning ZingGrid has fully styleable and flexible captioning that can be applied with attributes or slotted content. [Learn about Captions](https://www.zinggrid.com/docs/features/caption) - ### Column Headers ZingGrid has default behaviors for displaying and formatting column headers, as well as custom functionality. [Learn about Column Headers](https://www.zinggrid.com/docs/features/column-headers) - ### Column Types ZingGrid provides default column types which enhance the functionality of your grid. Automatically render the data set according to presets, such as localized phone-number formatting, images and icons, and currency formatting. You can also use a custom renderer method to format to your needs. [Learn about Column Types](https://www.zinggrid.com/docs/features/column-types) - ### Conditional Formatting Use built-in conditionality or add your own to style and customize your grid's appearance. [Learn about Formatting](https://www.zinggrid.com/docs/features/conditional-formatting) - ### Crosshair Use built-in crosshair class to style the highlighted row and column. [Learn about Crosshairs](https://www.zinggrid.com/docs/features/crosshair) - ### Custom Columns Define your own column and cell rendering and display options with a simple templating syntax. [Learn about Custom Columns](https://www.zinggrid.com/docs/features/custom-columns) - ### Frozen Columns Fix columns to the left or right side of the grid. [Learn about Frozen Columns](https://www.zinggrid.com/docs/features/frozen-columns) - ### Frozen Rows Fix rows to the top or bottom of the grid. [Learn about Frozen Rows](https://www.zinggrid.com/docs/features/frozen-rows) - ### Gridlines Quickly control the appearance of gridlines as horizontal, vertical, or both via attribute. [Learn about Gridlines](https://www.zinggrid.com/docs/features/gridlines) - ### Layouts ZingGrid automatically resizes your columns and changes from `row` to `card` layout in smaller device widths. To override and always serve a layout, simply set the layout attribute value to the desired layout. [Learn about Layouts](https://www.zinggrid.com/docs/features/layouts) - ### Loading Screen Use the built-in loading screen or define your own. [Learn about Loading](https://www.zinggrid.com/docs/features/loading-screen) - ### Media Types ZingGrid has built-in column types for iframes, images, and video, which renders the appropriate media markup from the data source. [Learn about Media Types](https://www.zinggrid.com/docs/features/media-types) - ### Mobile ZingGrid is responsive and mobile-ready by design! [Learn about Mobile](https://www.zinggrid.com/docs/features/mobile) - ### Nested Content Add nested markup (or even other grid instances) via slotted content and custom rendering to help users to digest data. [Learn about Nested Content](https://www.zinggrid.com/docs/features/nested-content) - ### Source Need to attribute your data to a source? ZingGrid has a basic, built-in source (citation) element that wraps the source text in ``. [Learn about Source](https://www.zinggrid.com/docs/features/source) - ### Viewports The viewport attribute automatically changes its value based on the current width of the grid according to internal breakpoints. Customize and add your own breakpoints when needed. [Learn about Viewports](https://www.zinggrid.com/docs/features/viewport) - ### Zebra Striping Alternate the background color of rows and cards with one attribute, or create your own complex styling rules via a simple configuration process. [Learn about Zebra Striping](https://www.zinggrid.com/docs/features/zebra-striping)