| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Отображение больших массивов из DBF в ListView |
| Автор: evk 9.2.2006, 10:25 |
| Всем привет, поделитесь плиз с начинающим. Есть DBF с большим количеством записей (до 300 000). Надо отобразить напр. 25 000 из 300 000 с каким-то фильтром. Кроме того, при выводе необходимо раскрашивать отдельные записи по заданному условию. Для выборки использовал ADO. Для отображения пытался использовать стандартный ListVew, т.е. открыл Recordset и пока не EOF добавляю Item и SubItem в ListView, причем если запись удовлетворяет заданному условию, то устанавливаю цветовые и фонтовые свойства Item и SubItem в нужное значение. В принципе функционально ListView устраивает, но тормоза жуткие., до 2000-3000 записей еще терпимо, а если больше - напрягает. Какой лучше компонент использовать для такой задачи? Не будет ли лучше создать свой ListVew, который будет разруливать заданное условие и устанавливать цвета и шрифты? Есть ли какой-то способ "массированной" вставки, так чтобы не было тормозов? Заранее благодарен. |
| Автор: Naghual 9.2.2006, 11:42 |
| В такой ситуации лучше всего заполнять ListView динамически а не полным рекордсетом. |
| Автор: Exception 9.2.2006, 11:54 |
| Если такое необходимо, значит интерфейс плохо спроектирован. Я сомневаюсь, что юзеру нужны сразу 3000 записей. |
| Автор: Naghual 9.2.2006, 11:57 |
| Exception Абсолютно согласен с замечанием. evk Стоит подумать о фильтрах. |
| Автор: evk 9.2.2006, 13:09 |
| Как на меня, то юзеру и 2 сотни записей сразу не нужны, но таковы реалии, традиции и т.д., а именно вывести сразу кучу строк и человек скроллингом по ним бегает, выбирает и т.д. У кого то была такая задача? Я сам видел программы, где одновременно выводилось по 25000 записей из какого-то источника данных в элемент типа ListView (по крайней мере очень похож) и они были все доступны: я сразу могу кнопкой Home перейти к первой записи, End - к последней. И отображение страшно живенькое - за 5-7 сек. Naghual Динамически - имеется в виду подгружать по мере надобности куски рекордсета? Что значит стоит подумать о фильтрах? |
| Автор: Naghual 9.2.2006, 15:59 | ||||
Да. Это я и имел в виду.
Для уменьшения количества одновременно отображаемых записей я предлагаю фильтровать данные по каким либо критериям. |
| Автор: evk 9.2.2006, 16:38 |
| Данные отсортированы по дате+времени. Вряд ли этот фильтр поможет, если необходимо вывести строки за последнюю неделю. |
| Автор: Naghual 9.2.2006, 17:32 | ||
Тут уже попахивает аналитикой. Сухая статистика с таким количеством записей - нонсенс. |