Yeah, I totally see where you are coming from here.
I’ve been digging into this a bit, and we can improve our table component – right now the columns are actually inferred from the types in your DataFrame. In your ideal world, it sounds like you’d like to set the format schema so you would have some control over this? A similar use-case would be something like currency, where I could set a column as $ or £?
Allowing the previous/next bar should be simple and removing filter should be simple, and I’d recommend we hide the previous/next bar automatically if there is only a single page (it’s redundant in your example).
I’m a a little less sure on totals, as that would require us to do a bit more calculation (either in the client-side library, or on the FE). In your example, this would be simple, but some folks upload 2m row datasets which get lazily-loaded in, so this could get a little complex. Is there a better way to solve this where you calculate it in your DataFrame?
I was just thinking - for a very lightweight table, another option is to use Markdown. DataFrames have a
to_markdown() field, so you can do
dp.Report(df.to_markdown()) in order to generate a non-responsive markdown table, like this:
For some tables which are non-interactive, this could be a good option.
I’m opening a ticket to try and improve these issues for you. Thanks so much for your feedback