Skip to content

raymondsiu/react-bootstrap-table

 
 

Repository files navigation

react-bootstrap-table

Join the chat at https://gitter.im/AllenFang/react-bootstrap-table

NPM version Build Status

Dependency Status devDependency Status peerDependency Status
It's a react.js table for bootstrap, named react-bootstrap-table. It's a configurable, functional table component and make you build a Bootstrap Table more efficiency and easy in your React application, However react-bootstrap-table support these features:

  • Striped, Borderless, Condensed table
  • Column align, hidden, width, sort, title, styling
  • Scrolling table
  • Cell format
  • Pagination
  • Row selection
  • Column filter with multi type
  • Cell edit with multi type editor
  • Insert & delete Row
  • Table, row and column styling
  • Search
  • Export to CSV
  • Rich function hooks
  • Header colum span
  • Remote mode
  • Expandable row
  • Key board Navigation
  • Customization

Example Explore more example on examples folder
See more about react-bootstrap-table.
Check this for more advance usage for react-bootstrap-table. Feel free to ask more examples.
Check the CHANGELOG for more detail release notes.

Notes

v4.0.0-beta.1 published, this release is for replacing react-toastr with react-s-alert, check PR#1216 and after v4.0.0, react-bootstrap-table will use react-s-alert for notification

v3.0.0 released, check examples to learn how to customize the component. following is the major things we completed in this release

  • Remove the bootstrap.js and jQuery dependencies
  • More easy and have ability to customize the components(search, pagination, insert modal etc.)
  • Key board Navigation

After v2.4.4, we move the css files to dist folder for allowing this repo can be hosted on cdnjs

Development

react-bootstrap-table dependencies on react.js and Bootstrap 3, also written by ES6 and use gulp and browserify for building and bundling.

You can use the following commands to prepare development

$ git clone https://github.com/AllenFang/react-bootstrap-table.git
$ cd react-bootstrap-table
$ npm install

See the examples for react-bootstrap-table

$ npm start # see all examples, go to localhost:3004

Usage

a.Install

npm install react-bootstrap-table --save

b.Import Module

To use react-bootstrap-table in your react app, you should import it first. You can do this in two ways:

With a module bundler

With a module bundler like webpack that supports either CommonJS or ES2015 modules, use as you would anything else.
You can include source maps on your build system to debug on development. Don't forget to Uglify on production.

// in ECMAScript 6
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
// or in ECMAScript 5
var ReactBSTable = require('react-bootstrap-table');  
var BootstrapTable = ReactBSTable.BootstrapTable;
var TableHeaderColumn = ReactBSTable.TableHeaderColumn;
Browser global(window object)

In the dist folder you have a UMD bundle with source maps (react-bootstrap-table.js) as well as a minified version (react-bootstrap-table.min.js).

<script src="path/to/react-bootstrap-table/dist/react-bootstrap-table.min.js" />
<script>
  var ReactBsTable = window.BootstrapTable;
  //...
</script>

The UMD build is also available on npmcdn:

// source maps: https://npmcdn.com/react-bootstrap-table/dist/react-bootstrap-table.js.map
<script src="https://npmcdn.com/react-bootstrap-table/dist/react-bootstrap-table.js"></script>
// or use the min version
<script src="https://npmcdn.com/react-bootstrap-table/dist/react-bootstrap-table.min.js"></script>

c.Import CSS

Finally, you need to import the css file to your app, there are two css file you can choose.
react-bootstrap-table-all.min.css include toastr.
react-bootstrap-table.min.css doesn't include toastr.
Notes: react-bootstrap-table use toastr to alarm some message to user.

<link rel="stylesheet" href="./dist/react-bootstrap-table-all.min.css">

The CSS files you can find in the css folder.

Quick Demo

// products will be presented by react-bootstrap-table
var products = [{
      id: 1,
      name: "Item name 1",
      price: 100
  },{
      id: 2,
      name: "Item name 2",
      price: 100
  },........];
// It's a data format example.
function priceFormatter(cell, row){
  return '<i class="glyphicon glyphicon-usd"></i> ' + cell;
}

React.render(
  <BootstrapTable data={products} striped={true} hover={true}>
      <TableHeaderColumn dataField="id" isKey={true} dataAlign="center" dataSort={true}>Product ID</TableHeaderColumn>
      <TableHeaderColumn dataField="name" dataSort={true}>Product Name</TableHeaderColumn>
      <TableHeaderColumn dataField="price" dataFormat={priceFormatter}>Product Price</TableHeaderColumn>
  </BootstrapTable>,
	document.getElementById("app")
);

More react-bootstrap-table examples

The example source codes is in the examples folder. Run the following commands for a live demo.

$ git clone https://github.com/AllenFang/react-bootstrap-table.git
$ cd react-bootstrap-table
$ npm install
$ npm start # after start, open browser and go to http://localhost:3004

Thanks

luqin
Help this project to integrate a better examples demo, add travis & badge, code formatting, give a lot of suggestions and bugs report.
Whien
Implement a lots of awesome new feature and also fix some bugs and enhancements.
khinlatt
Contribute export csv, multi-search and bug fixing.
dana
Contribute a new colum-filter design and great feedback given.
tbaeg
Bugs report and give some bootstrap and css suggestions actively.
bluedarker
Contribute the edit format & validation on cell editing and row insertion. Improve the custom styling.
Sofia Silva
Bug reports and fixing actively.
frontsideair
Fixing bugs and give improvement for functionality.
aaronhayes
Bugs report and enhance the cell formatting.
Reggino
Implement the TableDataSet component.

Packages

No packages published

Languages

  • JavaScript 94.2%
  • CSS 5.8%