2 HorrR:
Для случая с 1 кнопкой на вскидку могу предложить на рассмотрение еще вариант как получить последний активный DS - правда решение красотой не отличается.
Суть примерно в следующем: на форме через
element.selectedControl() можно получить контрол на котором находится фокус, далее проверить у этого контрола свойство DataSource. По полученному id() источника данных выбрать нужный DS на форме.
Первая проблема такого решения: в момент нажатия на кнопку метод element.selectedControl() вернет контрол нажатой кнопки, поэтому придется сохранять предыдущий выбранный элемент формы и анализировать его. Второе над чем придется подумать - как анализировать контролы на которых не был указан источник данных (unbounded элементы), что в этом случае считать активным DS? Возможно вылезет еще что-то.
P.S. Набросал примерный вариант реализации: