I have a Telerik WinForm RadGridView and I have a GridViewCheckBoxColumn column where the user can check/uncheck all of the rows in the grid. I'm able to click the header check box to uncheck or check all of the rows. I'm trying to implement the ability that it will only check or uncheck all of the visible rows in the grid. For example, if the user filtered one of the columns I'd like the header check/uncheck to only toggle based on the filtered rows and not all the rows. Currently, it appears the default functionality is to change all the rows.
I found this article: https://docs.telerik.com/devtools/winforms/controls/gridview/rows/rows-vs-childrows that explains how you can access either the rows or childrows collections to access all the data or the filtered data. I added an event to the CellValueChanged event and created a break point in that new method. Within that event the rows and childrows are the same (i.e. the row count was the exact same). However, within the ValueChanged event it correctly shows the childrows based on the current filters.
Is there another event where I should be capturing the check/uncheck event from the header that correctly lists the childrows data?
I tried creating a separate button to toggle the check boxes and used this article: https://www.telerik.com/forums/how-to-get-all-row-with-checkboxcolumn-checked to update the rows. But I have more than 5,000 records and it takes a very long time to iterate over all the rows. Is there an easier way to uncheck/check all the rows other than iterating over the rows collection?