How to add a 'select all' functionality to the optimized table

@RichardMarsot Thanks for replying.

The problem is , when we select checkboxes in all rows of a single page it selects the checkbox in header, even though other pages have rows with unselected checkbox. That is done by code in checkAllIfInHeader, which runs for every checkbox click in table(rows/header).

@RichardMarsot Thanks Richard. We are able to fix the issue.

@GaneshKumarC16656090 this is feasible but not really related to this post - this post is about adding ‘select all’ functionality which means that you can select multiple rows - if you want to have a single row selection - you will have to deal with unselecting the row - this is also better done in JS rather that doing it on the server side. I don’t want to confuse other people by extending this post - this is a separate use case and should be its own article - the JS code would be different too

@lunam my previous reply already showcase the selectall and unselectall functionality - when calling the JS function SelectAllCheckbox, the state of the checkbox (selected or not) is passed in the ‘action’ parameter -on the server, the activity goes through all the rows and update pySelected based on the value of this action parameter.

@SaikatD3 if the section is in a review harness, the table will always be read only - set the property to be editable ‘always’ instead of auto

@RichardMarsot We have tried with setting the property to be editable always instead of auto but it’s still showing as ‘.pyTemplateCheckBox’, in our case harness is OOTB ‘pyDashboard7’.

@RichardMarsot Hi Richard, We suggested the client to follow this documentation to configure a “Select All” checkbox within their optimized table. They provided some feedback and were wondering if we can update the current fix to include deselecting all rows when unchecking the Column header checkbox. Would you be able to add this to the current JS code?

Thank you!

@RichardMarsot Thanks Richard. I agree its a separate topic and I have created a new question on this. When you have a time, please check