explaingit

wenzhixin/bootstrap-table

11,819JavaScriptAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A JavaScript plugin that turns a plain HTML table into a sortable, paginated, searchable data grid. Works with Bootstrap, Bulma, Semantic UI, and other CSS frameworks, loads large datasets from a server via JSON without embedding all rows in the page.

Mindmap

mindmap
  root((bootstrap-table))
    What it does
      Interactive data grid
      Sorting pagination
      Row selection
    Data loading
      Server JSON API
      Client-side data
    Features
      Card view mobile
      Fixed headers
      Column toggle
    Tech Stack
      JavaScript
      Bootstrap
      Bulma Semantic UI
    Use Cases
      Admin dashboards
      Data listings
      CRUD interfaces
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add sorting, pagination, and search to an existing HTML data table without rebuilding the page in a JavaScript framework.

USE CASE 2

Load a large server-side dataset via a JSON API with server-side pagination so the browser never fetches all rows at once.

USE CASE 3

Let users select rows with checkboxes and act on the selection with JavaScript callbacks for delete or bulk-edit operations.

USE CASE 4

Show a mobile-friendly card view of table data on small screens by switching to the built-in card layout mode.

Tech stack

JavaScriptBootstrapSemantic UIBulma

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial projects, as long as you retain the copyright notice.

In plain English

Bootstrap Table is a JavaScript plugin that turns a standard HTML table into an interactive data grid. You add it to a web page that already uses a CSS framework such as Bootstrap, Semantic UI, Bulma, Material Design, or Foundation, and it adds sorting, pagination, row selection, and other features that plain HTML tables do not provide on their own. The plugin can load table data from a server in JSON format using background requests, so large datasets do not need to be embedded directly in the page. Clicking a column header sorts the rows. You can configure the table to show checkboxes or radio buttons for selecting one or more rows, and then read those selections in your JavaScript code. Columns can be shown or hidden individually without reloading the page. Other built-in options include a card view that turns each row into a stacked card layout for smaller screens, a detail view that expands a row to show additional information, fixed headers that stay visible while scrolling through long tables, and localization support for different languages. The behavior is configurable either through JavaScript options or through data attributes added directly to the HTML, so you can adjust things without writing much code. The plugin is free under the MIT license and can be added to a project through npm, Yarn, or a CDN link. It was originally built for Twitter Bootstrap but has since been extended to work with several other CSS frameworks. An online editor is available for experimenting with settings and previewing the result before using it in a real project.

Copy-paste prompts

Prompt 1
Set up bootstrap-table on a Bootstrap 5 page to display users fetched from /api/users with server-side pagination and column sorting.
Prompt 2
Add a checkbox column to my bootstrap-table so users can select multiple rows, then read the selected row IDs when they click a Delete button.
Prompt 3
Configure bootstrap-table to switch to card view on mobile screens and expand a row to show additional detail when a card is tapped.
Prompt 4
Add a toolbar button above my bootstrap-table that exports the currently visible filtered rows to a CSV file using the export extension.
Prompt 5
Set up bootstrap-table with fixed column headers so they stay visible while users scroll through a long table of data.
Open on GitHub → Explain another repo

← wenzhixin on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.