|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
.NET 4.x Показ список файлов из определенных папок26.11.2017, 22:00. Показов 6954. Ответов 80
Метки нет (Все метки)
Здравствуйте. Короче идея такая. Есть некоторые виды папок
DATA Campaigns Downloads Maps Multiplayer Maps Single Maps Battle Tutorial Town Tutorial Есть checkedListBox со списком этих файлов Есть ListBox в котором нужно показать файлы из этих папок. Весь прикол в том что эти папки необязательно должны лежать в корне и нужно также искать файлы в подпапках этих папок. Но также известно что файлы которые нужно отобразить могут находится только в этих папках. Как сделать так чтобы можно было управлять отображаемыми файлами в ListBox У меня есть идея использовать под каждую папку отдельный list<string> но тогда не получится использовать BindingSource для отображения. Может у кого есть эффективный способ отображать имена файлов из папок выбранных в checkedListBox Также еще хотелось к List перекрутить свойство возвращать от полного имени только имя файла. И да. Узнать хочу может использовать FileInfo для этих целей так как эти файлы не только отображать нужно. В listBox их нужно будет выбирать для их дальнейшей загрузки редактирования и сохранения.
0
|
|
| 26.11.2017, 22:00 | |
|
Ответы с готовыми решениями:
80
Распаковка определённых папок/файлов из 7z (JEDI)
Копирование нескольких определённых файлов и папок в одну определённую папку |
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|
| 28.11.2017, 19:54 | |
|
Alexandr_7, я же вроде бы объяснил, что нужно собрать выбранные файлы в новый массив и присвоить его свойству DataSource. Неужели я что-то невообразимо сложное сказал?
0
|
|
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
||||||
| 28.11.2017, 20:21 | ||||||
|
Примерно так:
Кликните здесь для просмотра всего текста
0
|
||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|||||||||||
| 29.11.2017, 08:11 [ТС] | |||||||||||
|
У checkedListBox1.DataSource уже есть эемент
Добавлено через 11 минут Короче не могу понять как твой код применить к своему. Видишь ли имена папок которые должны отображаться checkedListDir нужно записывать в конфиг. А список файлов для каждой папки он свой не надо записывать поэтому в Config.NameLibx хранится список папок. Могут быть добавлены новые поэтому динамически. А ListFileName
0
|
|||||||||||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|
| 29.11.2017, 08:11 | |
|
Alexandr_7,
Мой пример показывает простую вещь: к контролам привязываются коллекции (List, массивы) происхождение которых контролы вообще никак не интересует. Вы эти списки в любой момент можете изменить произвольным образом и перебиндить. Что и демонстрируется. Что в этом непонятного-то?
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||||||
| 29.11.2017, 08:16 [ТС] | ||||||
|
К томуже список файлов изначально не известно. Происходит поиск всех файлов:
0
|
||||||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|||||||
| 29.11.2017, 08:21 | |||||||
|
Добавлено через 1 минуту Вы мой пример изучите внимательно. Они максимально прост. Вся магия в одном месте:
Добавлено через 1 минуту Даже источник данных роли не играет. CheckBoxList нужен только для определения того, что нужно. Там могут быть и просто какие-то идентификаторы для БД или имена папок или URL-ы для скачивания. Это не важно. Вы создаёте новый массив и пихаете его в listBox. Всё.
0
|
|||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||||||
| 29.11.2017, 08:28 [ТС] | ||||||
|
Ну если по вашему примеру то вот
0
|
||||||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|||||||||||
| 29.11.2017, 08:39 | |||||||||||
|
Alexandr_7, всё верно. Найдите десять отличий:
SelectMany() собирает одну коллекцию из разных используя свойство указанное в предикате (или функцию).
0
|
|||||||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||||||
| 29.11.2017, 09:08 [ТС] | ||||||
|
В x не существует ListFileName
Так как ListFileName отдельный массива типа List<ExtendedFileInfo> и не принадлежит Config.DirLibxName а Config.DirLibxName является
0
|
||||||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
||
| 29.11.2017, 09:17 | ||
|
Мой пример связывает все данные с CheckedListBox, поэтому я их из этого контрола и достаю. Вы связываете с CheckedListBox пути к папкам, где нужно искать файлы. Вот в момент выбора папки вы и перебирайте файлы во всех выбранных папках и составляйте общую коллекцию. Т.е: 1) Вы в CheckedListBox определяете какие SourceDirectoryItem были выбраны; 2) Перебираете все выбранные элементы и в их Dir ищите файлы; 3) Формируете один массив из файлов во всех директориях; 4) Подкладываете полученный массив в DataSource вашего ListBox-а;
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||
| 29.11.2017, 09:36 [ТС] | ||
|
Файлы храняться в списке: ListFileName[номер папки в SourceDirectoryItem ] Я все равно не могу понять как ваш пример применить к своему. И событие checkedListDir_SelectedValueChanged не является эфективным так как происходит не при изменеии галочки а при выборе элемента Просто в checkedListDir нужно сначало выбрать элемент а потом уже ставить или снимать галочку с элемента
0
|
||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|||
| 29.11.2017, 09:45 | |||
|
0
|
|||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||
| 29.11.2017, 10:24 [ТС] | ||
|
0
|
||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|
| 29.11.2017, 10:31 | |
|
Alexandr_7, да плевать куда и что нужно сохранять))))
Вы из checkedListBox можете достать пути выбранных директорий? Вы можете найти все файлы из этих директорий и сложить в один массив? Вы можете этот массив передать в listBox? Добавлено через 1 минуту Не по теме: У меня складывается очень устойчивое ощущение, что программирование - вообще не ваше. Мы уже третью страницу начали, а вы простейшего всё ещё понять не можете: как чёртов массив с именами файлом составить.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||
| 29.11.2017, 11:14 [ТС] | ||
|
0
|
||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|
| 29.11.2017, 11:19 | |
|
Alexandr_7, положите файлы куда вам угодно. Главное, чтобы вы могли найти нужный список файлов по выбранной директории в checkedListBox.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|||||||
| 30.11.2017, 21:36 [ТС] | |||||||
|
Имена и пути папок хранить в конфиге с возможностью изменения через Блокнот. Это у меня сделана. Код выше или гляньте в самом проекте. Список файлов для каждой папки отдельно или любым другим способом хранить отдельно от конфига. Ибо список файлов получается в отдельном методе при запуске проекта. При желании можно повтоить поиск. Ну можно искать и каждый раз как пользователь через листчекбок выбирет папку но при таком варианте возможно будет подвсания в 1 - 2 секунды из за большого количества файлов. Сейчас это у меня сделано кодом показаном выше. В проекте также описаны методы загрузки и сохранения конфига но данный меод стандартен обычная серилизация
Так вот. Как мне сделать отображения папок в листчекбоксе и возможность отображать список файлов выбирая список папок в листчекбоксе.
0
|
|||||||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|||
| 01.12.2017, 07:16 | |||
Т.е. вы создаёте класс-контейнер, в который помещаете имя\путь папки в виде SourceDirectoryItem и рядом массив файлов (можно заранее выгрузить их) и биндите к CheckedListBox. Ну а дальше уже как по моему примеру выше.
0
|
|||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|||
| 01.12.2017, 10:25 [ТС] | |||
|
1 это мнорно. Учитывая чо просто так доступ к элементам формы из другого потока не получишь и вообще к типам данным другого потока. 2 и что это изменит. Либо зависание происходит по причине программы либо мне прийдется на время поиска сделать недоступными кое какие элементы что еще добавляет куча строк коду. Так что на время тестировочной версии можно и без потока обойтись. Потом разумеется делать поиск в потоке. А по поводу сохраненного списка файлов. Какие ваши предложения будут. Я не знаю как сделать так чтобы в конфиг сохранялся только список папок без списка файлов при этом не меняя метод сохранения и загрузки конфига.
0
|
|||
|
14323 / 9416 / 1356
Регистрация: 21.01.2016
Сообщений: 35,489
|
|||||
| 01.12.2017, 10:33 | |||||
|
0
|
|||||
| 01.12.2017, 10:33 | |
|
Помогаю со студенческими работами здесь
40
Удаление определённых файлов из профильных папок пользователей, имена которых заранее неизвестны Список папок и файлов Список файлов и папок
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|