|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
Добрый день! Сделал выделение строк в cxGrid с помощью GetContentStyle: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Всё работает, нужные строки выделяет, но форма из-за этого начинает тормозить в зависимости от количества записей, чем их больше, тем сильнее. При 50 практически невозможно работать с формой! Подскажите, как можно избавиться от тормозов? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 13:57 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
Сначала все вычитать... Условие выделения цветом положить в столбец и скрыть его.. а в этом обработчике обращаться только к уже посчитанному полю и принимать решение о цвете... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 14:32 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
FOGOT-BAstA, Если для отрисовки (точнее калькулейта) каждой ячейки вью выполнять по SQL-запросу, то логично что всё начнёт тормозить ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 16:30 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
Вот пример, на основе которого я делал: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
column_IndividualData - колонка, из которой надо дернуть инфу... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 11:00 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
какой кошмар разве можно такой код вешать на каждую строку????? создай словарь TDictionary, запиши в него все цвета, параметры и т.д. и уже потом бери из него данные ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 11:33 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
а в чем прикол словаря, тут насколько я вижу стили тупо размещены на датамодуле и он к ним напрямую обращается ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 12:30 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
Galadriel75 Код: pascal 1. 2. 3.
Не встречал ситуации, когда ARecord приходил пустым. А значение колонки проще проверять через VarIsNumeric. Тогда сразу понятно, что там не пусто и там число. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 12:53 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
энди, прикол в том, что не нужно тянуть из базы все данные на каждый чих, а вытянуть их сразу при старте окна или приложения в какую-нибудь структуру в памяти, ведь к памяти быстрее обращаться, чем к SQL-серверу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 13:09 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
X11, Кто тебе сказал, что это именно запрос к БД? TDM=class(TDataModule) .... property MyColor:TColor read .... write ....; end; И обращение к DM.MyColor - это именно обращение к памяти, а не как-то там еще... Хотя могут быть варианты, не спорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 13:38 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
DarkMaster, X11, вы точно один и тот же код обсуждаете? проблема в том что у ТС. А там на каждую ячейку (даже не запись!) выполняется запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 15:57 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
white_nigger, У ТС вообще жуть на самом деле. Нельзя так делать от слова совсем. Это же опа и серверу и приложению. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 21:36 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
Да, понял что не правильно так делать. Ну не знал что это событие каждый раз вызывается)) X-Cite Сначала все вычитать... Условие выделения цветом положить в столбец и скрыть его.. а в этом обработчике обращаться только к уже посчитанному полю и принимать решение о цвете... Можете подсказать как реализовать заполнение колонки при открытии формы? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 14:25 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
FOGOT-BAstA Можете подсказать как реализовать заполнение колонки при открытии формы? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 14:59 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
FOGOT-BAstA Можете подсказать как реализовать заполнение колонки при открытии формы? 1) Перед открытием формы делаем запрос к БД, в котором получаем данные, которые будем показывать пользователю в гриде плюс данные, которые будем сравнивать, чтобы выделить какие-то ячейки цветом. Если у вас таблица с выполненными или не выполненными ремонтами, то запрос должен выдёргивать таблицу с этими данными плюс boolean поле Closed для каждой записи этой таблицы. 2) К столбцам грида с собственно содержимым добавляем столбец, который будет хранить значение поля Closed из таблицы в п. 1, ставим столбцу Visible = False; 3) Для кастомизации ячейки/строки грида существуют специальные обработчики, в частности, OnCustomDrawCell. В нём пишем код, который сравнивает содержимое ячейки грида, в котором хранится значение поля Closed (true или false), и красит ячейку в соответствующий цвет. Ход мысли примерно такой: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 11:32 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
Gluck99, спасибо. Вчера сделал как знал. В таблицу БД добавил поле Color, на onShow формы делаю UPDATE таблицы по текущим значениям из второй и уже меняю стиль в соответствии со значением Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:51 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
FOGOT-BAstA if ARecord.Values[cxGrid2DBTableView1Color.Index]='True' then Это лучше бы развидеть, и SQL.Add - тоже. А в остальном - правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 22:33 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
softwarer, с чего ради? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:19 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
FOGOT-BAstA, ADOQuery11.SQL.Text := 'sql' заменяет Close, Clear, и Add одновременно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:29 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
wadman ADOQuery11.SQL.Text := 'sql' заменяет Close, Clear, и Add одновременно А прописывание в дизайн-тайме заменяет всё перечисленное. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:54 |
|
Тормозит форма из-за выделения цветом в cxGrid
|
|||
---|---|---|---|
#18+
wadman FOGOT-BAstA, ADOQuery11.SQL.Text := 'sql' заменяет Close, Clear, и Add одновременно Кроме того, при должной самодисциплине в единообразии задания констант существенно облегчает кросс-строчный поиск; и в любом случае в бинарнике будет содержаться вся строка без примесей кавычек и прочей разметки. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:57 |
|
|
start [/forum/topic.php?fid=58&gotonew=1&tid=2036982]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 417ms |
0 / 0 |