Bootstrap provides the some basic styling for the tables including CSS classes for responsiveness, striping odd/even rows, changing borders and captions, hovering rows, etc. These styles are opt-in and can be used with pure Angular to produce something like this:

At the moment we do not have plans to provide a dedicated component like `NgbTable` or `NgbGrid` as a part of ng-bootstrap project. As usual we're open to the productive discussion on GitHub.

Most importantly, there are way too many different use cases and options for such a complex component. Instead of building a monster-of-a-widget with hundreds of options and customizations, we would encourage you to use composition and pure Angular. Most tables don't need all the features and if you want a spreadsheet-like functionality there are dedicated libraries available.

Think about implementing the features you need and wrapping them into a component for your application. It might be simpler than it seems.

If you decide to choose a library for tables, make sure that it plays nicely with Angular:

- doesn't trigger change detection excessively
- doesn't generate thousands of DOM nodes
- doesn't bloat your resulting bundle size by bringing 3rd party dependencies
- doesn't pretend to be an Angular library by wrapping something else

Having said that, we decided to give you some simple examples of common table features. Take a look at them for the inspiration and maybe even use them as a starting point.

- Sorting - shows a sample `NgbdSortableHeader` directive that you can stick on a `<th>` element to handle sorting
- Pagination - shows how to use a `NgbPagination` component together with the table
- Search / filtering - full text search example over the table data
- Service example - a service that will handle sorting, pagination and filtering in an asynchronous manner. It is based on observables and simulates debouncing and a custom delay for the data fetch.