From 9510c58296fa9f4fabc21bc7728e378959995a70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Brand=C3=A9ho?= Date: Fri, 21 Jul 2023 20:23:51 +0200 Subject: [PATCH] Fix datatable rendering (#1360) --- reflex/components/datadisplay/datatable.py | 35 ++++++++++------------ 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/reflex/components/datadisplay/datatable.py b/reflex/components/datadisplay/datatable.py index 6c6be884b..880e37540 100644 --- a/reflex/components/datadisplay/datatable.py +++ b/reflex/components/datadisplay/datatable.py @@ -101,25 +101,22 @@ class DataTable(Gridjs): def _render(self) -> Tag: if isinstance(self.data, Var): - self.columns = BaseVar( - name=f"{self.data.name}.columns" - if types.is_dataframe(self.data.type_) - else f"{self.columns.name}", - type_=List[Any], - state=self.data.state, - ) - self.data = BaseVar( - name=f"{self.data.name}.data" - if types.is_dataframe(self.data.type_) - else f"{self.data.name}", - type_=List[List[Any]], - state=self.data.state, - ) - - # If given a pandas df break up the data and columns - if types.is_dataframe(type(self.data)): - self.columns = Var.create(list(self.data.columns.values.tolist())) # type: ignore - self.data = Var.create(format.format_dataframe_values(self.data)) # type: ignore + if types.is_dataframe(self.data.type_): + self.columns = BaseVar( + name=f"{self.data.name}.columns", + type_=List[Any], + state=self.data.state, + ) + self.data = BaseVar( + name=f"{self.data.name}.data", + type_=List[List[Any]], + state=self.data.state, + ) + else: + # If given a pandas df break up the data and columns + if types.is_dataframe(type(self.data)): + self.columns = Var.create(list(self.data.columns.values.tolist())) # type: ignore + self.data = Var.create(format.format_dataframe_values(self.data)) # type: ignore # Render the table. return super()._render()