Updating a Tabulator / Dataframe

Hi @Marc - I’m very pleased to have stumbled on Panel recently, thanks for sharing your work.

How can I provoke an update of a DataFrame in a Tabulator please?

I’m trying to get the formatting up to a similar standard to plain-old Pandas in Jupyter (familiar territory), along with the dashboard / liveness of Panel, and in Dark mode of course.

I’ve been looking at the following examples:

  1. https://discourse.holoviz.org/t/portfolio-analyser-with-excel-like-interactive-table

    • formatting great, but can’t see how to update
  2. Save Filtered Df — Panel v0.14.4

    • updates from other controls, but I can’t see how to control the formatting, both column text formatting like decimals etc, and to apply dark theme

Like example (1), I’m using Tabulator to display the dataframe since that seems to be the most flexible / up-to-date way (although I’m not looking for editing right now). What would be the recommended way to trigger an update of the dataframe contents? (I have a button and can use on_click - but what should I call on the Tabulator? I can’t see trigger / update methods)
For now I would be equally happy just replacing the whole dataframe - no need to do granular updates.

I have a couple of controls - a bit like your filtered dataframe example (2). But the filtered example just seems to pass a pandas dataframe directly to Panel / Column. I struggled to see how to apply formatting and dark theme to that.

The (very nice) portfolio example doesn’t seem to have any other controls which would cause the Tabulator to update; although it does of course support direct user editing of some of the cells.

Many thanks -

I’m now looking at this example which seems to do what I need, ie update a tabulator:

1 Like

OK this was embarrassingly simple: just update the pandas DataFrame which is held as the tabulator’s “value”, something like this:
self.oTabulator.value = newDataFrame

I’d be interested to hear what the relationship is between awesome-panel and Panel :slight_smile:


1 Like