santa-san |
Отправлено: 20.01.2004, 14:58 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 18
|
Есть на форме грид. Заполняю его большим объемом информации.
Прорисовка грида тормозит выполнение. Как ее отключить?
заранее ... |
|
Vlad |
Отправлено: 20.01.2004, 16:25 |
|
Машинист паровоза
Группа: Участник
Сообщений: 231
|
А какой грид — DBGrid or StringGrid? |
|
santa-san |
Отправлено: 20.01.2004, 17:29 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 18
|
STRING |
|
fellow |
Отправлено: 20.01.2004, 17:56 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Заполняйте построчно или по столбцам. У стринггрида есть свойства Cols и Rows, их тип — массив указателей на TStrings. Каждый указатель на TStrings — это указатель на значения ячеек соответствующей строки(столбца). У TStrings есть методы BeginUpdate и EndUpdate. Сначала начинаете изменение строки таблицы вызвав BeginUpdate, потом изменяете эту коллекцию строк, затем EndUpdate завершает изменение. И так для каждой строки или столбца. |
|
Doga |
Отправлено: 26.01.2004, 16:05 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Есть способ проще — сделать СтринГрид невидимым пока идет его заполнение. Но в этом ли дело?
Если не отрисованы другие объекты формы — перед заполнением сделай им всём Repaint()
А если форма не отзывается на управление пока не завершится заполнение данными, значит ты не используешь для зополнения поток (TThread) — тогда так и должно быть.
Если заполнение длится больше 2-ух секунд советую использовать поток. Это будет выглядеть гораздо более эстетично и контроль над формой будешь иметь всё время.
|
|