a data grid

born in the cloud


see what's different
OxGrid
OxGrid

Traditional Grid

Some Javascript grid components provide a "virtualization" facility which allows for rows of data to be downloaded on demand as the user scrolls up and down.

A dedicated server application is responsible for providing the data to the grid. This is sometimes known as a "server side rendering model".

Operations such as sort, filter, group and aggregate can no longer be performed by the grid as it doesn't have access to all the data at once. These operations are instead performed by the server, which may itself defer to a database query.

A Javascript grid component which supports virtualization will typically come with basic sample server code, typically to query a database and buffer the data.

However, features such as managing asynchronous data insert, update and delete transactions and co-ordinating them with sort, filter, group and aggregate operations are not provided.

These features can be challenging to implement if there are frequent data transactions coupled with long-running operations caused by large data quantities.

To achieve satisfactory performance targets it may be necesssary to introduce parallel or asynchronous tasks running on separate threads.

OxGrid

So What's Different ?

OxGrid consists of complementary client and server component libraries which are designed to work together.

The client is designed to co-ordinate with a virtualized data source in the Cloud. Functions such as sort, filter, group and aggregate are solely the responsibility of the server.

The client grid maintains a local row-data cache which handles asynchronous row updates from the server. The cache is automatically flushed after global server row operations such as sort, filter and group.

The server is optimized to deal with high frequency data updates and can dynamically adjust the frequency of operations such as re-sort, filter or group and aggregate groupings.

The grid may specify columns containing ad-hoc formulae, referencing other columns or aggregations such as Price / Average (Price) or Quantity / Sum (Quantity). The server maintains a formula dependency map and re-evaluates expressions as inputs change.

OxGrid

Features

  • Typescript Grid Client with React wrapper
  • .NET Grid Server Library fully featured
  • Capacity and Performance only limited by server hardware
  • Asynchronous Server Data Transactions insert/update/delete/clear
  • Asynchronous Updates from Server to Client Grid no need to poll the server for data changes
  • Multi-Filter global filter which targets all columns simultaneously
  • Column Filters multiple individual columns filters
  • Filter row directly edit filters in a filter row at the top of the grid
  • Sorting up to 3 columns
  • Row Grouping up to 3 levels, keyed on values of left-most columns
  • Tree Data drill down into contents of individual row groups with expand-all and contract-all
  • Aggregation of row groups at all levels
  • Formula Columns expressions may refer to other column values and aggregations such as sum(), average(), count()
  • Graphical Output sparklines, bar charts, flashing red/blue up/down indicators
  • Direct Column Shifting left/right
  • Resizable Columns drag and drop
  • Context Menu column number/date format, alignment, formula editing, sorting
  • Editable Heading Titles directly edit in cell
  • Dynamic Adjustment of Server sort/filter/group frequency
  • Dialogs "Add column" and "List all columns"
  • Switches heading, filter and status rows on/off