|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.02.2013, 13:28 | #1 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 25
|
ListView OnData - тормозит форма
Только вчера разобрался с виртуальным режимом ListView. Действительно, он позволяет грузить бооольшой объем элементов на себя. Но, есть и проблемы.
Кнопки, вкладки формы, на которой находится список, перестают менять свое визуальное состояние, хотя свойства, типа Enable устанавливаются нормально. Т.е., пускай, пока у меня пустой список, кнопка находится в Enable := True состоянии. После того, как число элементов списка изменилось (а у меня это объемы по ~20 000 строк) я устанавливаю Enabled := False. Кнопки перестают менять свое состояние, сколько я ни навожу на них мышкой. Т.е. оно выглядит как Enabled все равно. А вкладки формы, при изменении ее размеров, вообще пропадают. Есть ли вообще нормальный компонент (желательно Free), который бы позволял хранить ооогромное количество строк, и обязательно имел колонки? Если нету такого, то подскажите, как быстро грузить в ListView строки указанного выше объема? BeginUpdate..EndUpdate я использую. Но скорость все равно не достаточно быстрая (хотя и быстрее обычного режима). |
21.02.2013, 14:07 | #2 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
Ничего общего между свойствами ListView и другими элементами не существует, кроме его обработчиков. Посмотрите внимательно на место определения доступности кнопок или Action, назначенных для кнопок. Скорее всего упустили проверку или неверно определяете размер загруженных элементов.
|
21.02.2013, 14:21 | #3 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 25
|
Не-не. Свойства работают. Не работают визуально эти свойства.
Вот скрин до загруженного списка: Вот скрин после (плюс растянул форму): Как видим, пропадают вкладки (кода вообще по ним нет никакого). И кнопка, хоть и свойство Enabled установлено на False, все равно будто бы доступна. Но при нажатии ничего не происходит. Она и не нажимается (так ведь и должно быть при Enabled). Но мышкой водить над ней бесполезно - она не подсвечивается. |
21.02.2013, 14:26 | #4 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 25
|
Но вкладки появляются если в то место клацнуть.
|
21.02.2013, 14:26 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Гадание на кофейной гуще. Без кода не будет и ответа. Согласен с ReportCube, дело не в ListView. Да, и 20000 записей зачем? Как с ними работать, попробуй все пролистай только.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.02.2013, 14:29 | #6 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 25
|
Опять 25: "Ты их только пролистай", "Да нафиг оно надо" и т.д. И ничего по делу.
Код тут: http://code.google.com/p/tim2view/source/browse/ Ембаркадера XE3. Ссылка на тестовый файл для скана: http://rghost.ru/43960473 Последний раз редактировалось Dr. MefistO; 21.02.2013 в 14:31. |
21.02.2013, 14:50 | #7 |
Пользователь
Регистрация: 22.03.2009
Сообщений: 25
|
Включил Optimization - работает нормально. Бред.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как перетащить элемент ListView в другой ListView? | Paul Hindenburg | Компоненты Delphi | 5 | 26.01.2013 11:35 |
Тормозит | glebast | Помощь студентам | 10 | 27.04.2012 21:48 |
ПЕрвая форма, кликая по кнопке, другая форма | Nadej | C++ Builder | 0 | 02.10.2011 17:58 |
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. | Casper-SC | WPF, UWP, WinRT, XAML | 2 | 12.08.2010 19:04 |