Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
December 31, 2020 05:57 pm

Working With Tables in React, Part One


One of the most common user interface elements for presenting your data is a table. It turns out that there are many aspects to control when working with tables, such as:



  • defining columns and headers

  • various cell formats (text, numbers, check boxes)

  • resizing

  • filtering

  • dynamic growing

  • styling


In this two-part series, you will learn about the ins and outs of working with tabular data in React using the React Bootstrap Table component. You'll be able to create sophisticated and professional-looking tables with little effort and yet be able to customize every aspect.


Getting Started  




 



To start, you should be familiar with React itself. If you need a primer on React, Envato Tuts+ has a great series to help you get started with React. In this tutorial, we'll focus on working with React Bootstrap Table2.


To start, create a react app with the create-react-app command. You can learn how to set create-react-app up in React Crash Course for Beginners.



now navigate to the project folder and install React Bootstrap Table 2 and Bootstrap.



Create a Basic Table


We will start with a basic table. We first import the BootstrapTable component and CSS as shown below.



First, we initialize the data and column variables and then assign the data to the BootstrapTable component.  The data contains the names of some characters from the hilarious show Arrested Development



The Bootstrap component takes in the following attributes.



  • keyField

  • data

  • columns


The render() method renders a table with three columns: "ID", "Name", and "Value".



To view the table, issue the command, npm start--reload. The configuration created by create-react-app watches over your code and recompile whenever you change anything, so you only need to run it once. Then, every change will automatically be reflected.



Here is the result:


basic table

Note that each column has exactly the same width.


Working With Columns


You can control many aspects of the columns. In particular, the column widths can be specified in absolute units,, as percentages, or left unspecified. The column width of unspecified columns is the remainder divided equally. For example, for our basic table, let's specify the columns as follows:



  • first column: 20%

  • first column: 60%

  • first column: 20%


You can also manage the alignment of text and columns as well as the style of headers and columns. Here is an example of how to specify different column widths, text alignment, and custom styles:



The table now looks like this:


column sizing

Styling Your Table


You saw how to style individual columns and headers, but styling can go much further. React Bootstrap Table 2 provides a lot of options for customization. First, you can simply add the striped and hover attributes to the BootstrapTable component to get alternate background colors on each row.


Let's apply the striped and hover properties to our table.



striped table

Check out how you would style different columns with different colors.



colored columns

Table Sort


React Bootstrap Table 2 allows sortable columns. This is done by giving an attribute  of sort: true in the columns definition.



Selecting Rows


Once you have your data in a table, you may want to select some rows to perform some operations on them. React Bootstrap Table 2 provides a wide variety of selection options. All the options are organized in a single object you pass to the component as the selectRow attribute. Here are some of the selection options:



  • single selection mode (radio button)

  • multi-selection mode (checkbox)

  • configurable column selection width

  • select on row click: by default you must click the selector (radio button or checkbox)

  • hide selection column (useful if select on row click is true)

  • change background color on selection

  • initial selected rows

  • selection hooks (on single row or when all rows are selected).


The following components demonstrate many of these options:


edit the table

Other Libraries for Data Tables in React


Lets explore other open-source React table libraries.


react-virtualized


react-virtualized is  perfect for displaying a large amount of data efficiently when rendering large lists and tabular data.


react-virtualized uses a technique called virtual rendering to display extensive data efficiently. Virtual rendering only renders what is visible. For example, if you have a large list that contains a thousand items, react-virtualized will only show a fraction of the data (ones that fit on the screen) at any given moment the ones that fit on the screen) until the user scrolls to show more. Other features include:



  • supports rendering of grids, lists, tables, masonry, and collections

  • ability to auto-resize components

  • ability to display items in reverse order

  • ability to customize CSS classes and styles


react-table


react-table is a  lightweight open-source library that allows for fast and extendable datagrids for React. It also supports hooks. Some of its best features include:



  • highly customizable 

  • supports sorting, filters, row selection, column ordering, and row expansion

  • fully controllable API

  • animatable and virtualizable

  • resizable

  •  


React Data Grid


React Data Grid is another open-source library that uses bootstrap and is perfect for editing tables. It also has a stunning UI. Features include:



  • column sorting, searching, filtering, and grouping

  • ability to edit columns

  • expand columns to show more data


Conclusion


In this tutorial, we created a simple React application using react-create-app, added react-bootstrap-table2, populated a table with data, worked with columns, styled the table, and selected rows. 


In the next part, we'll continue the journey by expanding rows, adding rows, deleting rows, and covering pagination, cell editing, and advanced customization. Stay tuned. 




Original Link: https://code.tutsplus.com/tutorials/working-with-tables-in-react-part-one--cms-29682

Share this article:    Share on Facebook
View Full Article

TutsPlus - Code

Tuts+ is a site aimed at web developers and designers offering tutorials and articles on technologies, skills and techniques to improve how you design and build websites.

More About this Source Visit TutsPlus - Code