This has already been answered here. You use ControlType to restrict your loop to the types of controls that will have a data source.