Remove rows from datatable. :param str instance_id: Datatable instance id (i.e., the ``instance_id`` parameter when calling :py:func:`put_datatable()`) :param int/str/list row_ids: row id or row id list to remove
(instance_id: str, row_ids: List)
| 1778 | |
| 1779 | |
| 1780 | def datatable_remove(instance_id: str, row_ids: List): |
| 1781 | """ |
| 1782 | Remove rows from datatable. |
| 1783 | |
| 1784 | :param str instance_id: Datatable instance id |
| 1785 | (i.e., the ``instance_id`` parameter when calling :py:func:`put_datatable()`) |
| 1786 | :param int/str/list row_ids: row id or row id list to remove |
| 1787 | """ |
| 1788 | from .session import run_js |
| 1789 | |
| 1790 | instance_id = f"ag_grid_{instance_id}_promise" |
| 1791 | if not isinstance(row_ids, (list, tuple)): |
| 1792 | row_ids = [row_ids] |
| 1793 | run_js("""window[instance_id] ? window[instance_id].then((grid) => { |
| 1794 | let remove_rows = []; |
| 1795 | for (let row_id of row_ids) { |
| 1796 | let row = grid.api.getRowNode(row_id); |
| 1797 | if (row) remove_rows.push(row.data); |
| 1798 | } |
| 1799 | grid.api.applyTransaction({remove: remove_rows}); |
| 1800 | }) : console.error(`Datatable instance [${instance_id}] not found`); |
| 1801 | """, instance_id=instance_id, row_ids=row_ids) |
| 1802 | |
| 1803 | |
| 1804 | @safely_destruct_output_when_exp('contents') |
nothing calls this directly
no test coverage detected
searching dependent graphs…