Display large number of columns in Dash datatable

I am creating an app using dash in which I need to display a table with greater than 300 to 400 columns. In this table, color formatting is applied and some backend calculations are done based on which cell the user selects. Although the required backend calculations are done perfectly, formatting doesn’t get applied as the number of columns increase. Is there any limitation on the number of columns that can be displayed in dash? And is there any way I can display these many columns?

Hi @shraddhaj, welcome to the Dash community :slightly_smiling_face:

The issue isn’t the number of columns – it’s that the conditional formatting for applying the color is slow with large data sets. I’m not sure about the best work-around, but there may be a PR to fix this soon.

Hi @AnnMarieW , thanks for letting me know that there will be a fix for this issue soon. But I assume this will take some time. Meanwhile, I am looking for a work around for this issue. Below is the issue in detail:

I have a datatable as below along with the radio buttons. If someone selects ‘cell’ radio button and then clicks on few cells in the table, those cells will be formatted with red color and strikethrough along with some backend calculations. The number of columns in the table will depend on the input data - sometimes less and sometimes more columns. This works fine up to 250 columns. If there are > 250 or 270 columns, the formats do not get applied and I am unable to even use the table scrollers. It becomes extremely slow.

Please let me know if anyone has any work around for this.

Have you tried virtualization? Virtualization | Dash for Python Documentation | Plotly