У меня была похожая проблема с пользовательскими списками, которые наследуются от List.
Вы можете обойти это, если ваша система позволит вам наследовать без использования интерфейсов. Наши нет.
Проект, содержащий этот класс, появится в раскрывающемся списке DataSource, а сам класс появится в раскрывающемся списке DataSet:
public class AccountList : List<AccountData>
{}
Этот класс НЕ будет отображаться как набор данных, что не позволяет его проекту отображаться в качестве источника данных (обратите внимание на «I» перед AccountData):
public class AccountList : List<IAccountData>
{}
Это боль, потому что другие аспекты нашей системы требуют, чтобы списки наследовались от интерфейса, а не от конкретного класса. Я не знаю, почему это не работает.