If you roll your own control, you can easily provide this feature and enable best-in-class controls to perform specific tasks, such as numerical editors and date combinations.
At first we were looking for complete control, but, like you, we could not find it. Thus, we made our own with support for more than 15 different types of data display. All control, including comments, is only about 1,500 lines and includes a lot of functionality specific to our application, but we could also combine with various third-party controls.
Another approach that we use in another use case is to create a common control interface (i.e., set value, get value, real, etc.), and then create special user controls that implement this interface.
Then, to perform mass actions on the controls, it is just a matter of cycling through the list of container controls and, if the control implements our interface, performs the action of the interface on this control.
This greatly reduces the amount of code we need to write to perform standard operations for all controls.
source share