В отношении TreeView и ListView - это я уже догадался - который день над этим бьюсь.
Дабы лишние вопросы не возникали по сути самой задачи, прилагаю структуру того, что есть в действительности и чего хотелось бы.
Слева на картинке - то, что есть, а справа- то, что должен видить пользователь в случае, если массив DirPath=('D:\Dir1', 'D:\Dir2').
Примечание:
1. названия файлов и папок могут быть любые
2. нумерация в примере введена только для того, чтобы ясно было какой файл/папка из какой директории.