This commit is contained in:
2026-06-13 11:55:18 +02:00
parent 31e756a5af
commit 00f10e6a33
+12 -11
View File
@@ -8,14 +8,10 @@ class aggridx(ui.aggrid):
def from_pandas(cls, *args, index="index", options=None, **kwargs):
options = options or {}
options.setdefault(":getRowId", f"(params) => params.data.{index}") # set row ID to index column
res = super().from_pandas(*args, options=options, **kwargs)
res.index = index
return res
self = super().from_pandas(*args, options=options, **kwargs)
self.index = index
return self
def set_cell(self, row_id, col_id, new_val):
row_index = self.row_id_to_index(row_id)
self.set_cell_server(row_index, col_id, new_val)
self.set_cell_client(row_id, col_id, new_val)
def row_id_to_index(self, row_id):
data = self.options["rowData"]
@@ -24,6 +20,15 @@ class aggridx(ui.aggrid):
except StopIteration as e:
raise LookupError(f"run {row_id} not found") from e
def prepend_row_id(self, row_id, row):
return {self.index: row_id, **row} # setdefault would not force index to be the first column
def set_cell(self, row_id, col_id, new_val):
row_index = self.row_id_to_index(row_id)
self.set_cell_server(row_index, col_id, new_val)
self.set_cell_client(row_id, col_id, new_val)
def set_cell_server(self, row_index, col_id, new_val):
with self.props.suspend_updates():
self.options["rowData"][row_index][col_id] = new_val
@@ -84,10 +89,6 @@ class aggridx(ui.aggrid):
# self.insert_row_data([row], index)
def prepend_row_id(self, row_id, row):
return {self.index: row_id, **row} # setdefault would not force index to be the first column
def ensure_column_defs(self, columns):
"""
append any missing columns on the right side of the table