React UI Components Documentation

ReactJS Grid Component

The Grid component for ReactJS is a powerful widget that displays tabular data.
It offers rich support for interacting with data, including paging, grouping, sorting, filtering and editing.

Prerequisites

Refer to ReactJS Getting Started before you start with this help topic.

Configuration

The Grid component for ReactJS requires the following imports.

 
import React from 'react';
import ReactDOM from 'react-dom';
import JqxGrid from 'jqwidgets-react/react_jqxgrid.js';

Then we create our component class. Properties and methods are put as ReactJS props.

  
class App extends React.Component {
render () {
return (
<JqxGrid
width={500} height={500}
source={dataAdapter} columns={columns}
/>
)
}
}

Finally we render our class in the desired HTML element:

 
ReactDOM.render(<App />, document.getElementById('app'));

Events Methods & Properties

In order to bind to any event, change any property or call any method, we need a reference to the component.
For that we use the ReactJS "ref" Callback Attribute:

 
<JqxGrid ref='myGrid' width={500} height={500}..... />

Now, when we have a reference, we need to call the desired event/property/method.
This is done in the componentDidMount() ReactJS Component Lifecycle method.

 
class App extends React.Component {
componentDidMount()
{
//your logic
}
render ()
{
return
(
....
)
}
};

Events

The filter event is triggered when the Grid is filtered.

The following example demonstrates how to add an event listener:

 
componentDidMount ()
{
this.refs.myGrid.on('filter', (event) =>
{
//your logic
});
}

Methods & Properties

This is how you call methods & props:

  
//Get Methods
let value = this.refs.myGrid.getcellvalue(0, "firstname");
//Set Methods
this.refs.myGrid.setcellvalue(0, "firstname", "New Value");
//Get Properties
let height = this.refs.myGrid.height();
//Set Properties
this.refs.myGrid.height(250);

Every component have a method setOptions which accepts a object as an argument. This object contains component settings.

 
this.refs.myGrid.setOptions({
scrollfeedback: (row) =>
{
return '<table style="height: 150px;"><tr><td><img src="images/t-shirts/' + row.pic + '" /></td></tr><tr><td>' + row.label + '</td></tr></table>';
},
width: 350,
altrows: true
})

Every component also have a method getOptions which returns a object containing the component settings.

Grid Examples

Overview

The following example demonstrates how to create a Grid component.

Editing

The following example demonstrates the Grid Editing feature.

Paging

(requires jqxgrid.pager.js)

The following example demonstrates the Grid Paging feature.

Filtering

(requires jqxgrid.filter.js)

The following example demonstrates the Grid Filtering feature.

Nested Grid

The following example demonstrates how to display nested Grid plugins.

Grid API

API Reference of the jQWidgets Grid component for React: Grid API