I tried to setup a filterable table following the example code given in the documentation. https://dash.plotly.com/datatable/callbacks
The Backend Paging with Filtering and Multi-Column Sorting one.
The problem appears to be that you’re using a dark Bootswatch theme, which sets the font color to white (or something close to it), but doesn’t have any effect on the cell backgrounds.
The easiest thing to do is to use a light theme. If you want to use the dark theme you’re going to have to manually style the datatable, i.e. use the inspector in the browser to find out which classes etc. are being used to set the cell colors and try to override it.
One of the columns in the table was too wide and was making the table go out of the visible area.
So I fixed the table size with a horizontal scroll bar using the overflowX.
The problem is likely that dash-table and Bootstrap both use a CSS class called row and they clash. Try adding the following CSS to a file in your assets/ folder. It will override the properties of the Bootstrap row within the table.
In addition to that, I often find it useful to use the developer tools in my browser to inspect what is actually getting rendered by the browser, making edits / changes there, then trying to figure out how I could have made that change happen from within my Dash app. Check out this intro to using the developer tools to get up to speed quickly.