Создайте «виртуальный каталог» или древовидное представление, чтобы пользователь мог просматривать файлы, существующие в базе данных. - PullRequest
1 голос
/ 21 июня 2011

Я знаю, что могу просматривать файлы, когда они существуют, с помощью FileDialog. Я отслеживаю изменения, сделанные в каталоге, и каждый раз, когда происходит изменение, я сохраняю этот файл в базе данных. Я записываю путь к файлу, дату изменения, дату, введенную в базу данных, и идентификатор файла для идентификации каждого файла.

Итак, моя база данных содержит большой список файлов (около 50000). Когда я просматриваю файл, я помещаю этот список файлов в просмотр списка. Если я хочу восстановить файл, мне нужно просмотреть этот список, что не сложно, потому что я добавил функцию поиска для фильтрации результатов.

Но я бы хотел, чтобы пользователь мог просматривать файл так же, как вы это делаете в Windows. Другими словами, вам придется дважды щелкнуть папку в списке, чтобы увидеть ее содержимое. Мне удалось сделать это, создав событие, при котором при двойном щелчке по папке в представлении списка будут просто отображаться файлы, родительский каталог которых является тем, который был дважды нажат. Другими словами, дважды щелкнув папку, вы увидите содержимое этого каталога. Единственная проблема с этой техникой в ​​том, что она медленная. Каждый раз, когда двойной щелчок на папке, это занимает около 2 секунд. В начале это быстро, но имеет тенденцию замедляться. Было бы хорошо, если бы я мог ускорить этот процесс. Я отсортировал файлы, чтобы ускорить этот процесс и создать цикл вместо запроса, но это все еще требует времени.

Или, может быть, мне нужно изменить базу данных, чтобы ускорить этот процесс. Поскольку я отслеживаю множество изменений, я бы хотел, чтобы база данных была как можно меньше. Но если мне нужно добавить несколько столбцов, чтобы это сработало, я изменю это.

1 Ответ

0 голосов
/ 21 июня 2011

Это звучит как то, что я бы сделал с библиотеками документов sharepoint (2010, бесплатно).Может быть вариант?

...