I was going to propose this exact approach after seeing what @AnnMarieW has showcased in another post (Button inside a Dash Table - #5 by AnnMarieW). However, it will mean lots of callbacks, one for every single check/uncheck action in the entire table. Also, state management of the last known state of each checkbox will also require custom logic. Not sure if it’s natively managed already by Dash DataTable.