![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перерисовать конкретную ячейку грида, а не весь грид? [D6]
strelok-47 © (2004-08-06 09:49:00)Грид Eh'ашный
strelok-47 (2004-08-06 11:03:00) [21]можно конешно значение поля из Т3 вытаскивать позапросом в запросе на выбор данных для Т1, но тогда при изменении данных в Т3 придется переоткрывать Т1.
если же сидеть на OnGetCellParams, выполняя запрос в отдельном датасете и потом на основании полученных данных красить ячейки, то притормаживает, видимо все таки придется заюзать триггер.
Sergey13 (2004-08-06 10:56:00) [22]2[19] strelok-47 (06.08.04 10:53)
Да скорее грустно. 8-(
strelok-47 (2004-08-06 10:53:00) [23]2 Sergey13
смешно,
Sergey13 (2004-08-06 10:52:00) [24]Ну дык если ты ничего не хочешь переделывать и менять то фиг ли спрашивать? Ждешь волшебного слова для ускорения? Ну с бубном попрыгай вокруг - иногда помогает. 8-)
strelok-47 (2004-08-06 10:52:00) [25]а никак, я потому с справшиваю.
Johnmen (2004-08-06 10:51:00) [26]А сечас как это делается ?
strelok-47 (2004-08-06 10:49:00) [27]а нафига? есть три таблицы Т1, Т2 и Т3, повязаны все как мастер-детайл, т.е. Т1 мастер для Т2, Т2 для Т3. Есть у них гриды Г1, Г2, Г3.задача такова: если я меняю значение записи в Т3, мне надо определенным образом подсветить мастерную запись в Т1. Все.
ЗЫ Запросы то зачем? А структура БД надо полагать? Переделывать я все равно уже не буду, в ней люди работают. Ранее я уже решал такую задачу, но тот подход гнилой и мне не нпавиться
Danilka (2004-08-06 10:44:00) [28][12] Sergey13 © (06.08.04 10:42)
:))
Danilka (2004-08-06 10:44:00) [29][11] strelok-47 (06.08.04 10:40)
Вообще-то тот-же вопрос можно и тебе адресовать. Подробнее описал-бы задачу, а то все какие-то абстракции. :))
Sergey13 (2004-08-06 10:42:00) [30]А по существу напиши свои запросы/структуры/задачу сюда - подумают люди. А то только гриды да таблицы, а информации пока что ноль.
strelok-47 (2004-08-06 10:40:00) [31]2 Sergey13
а если по существу?
Sergey13 (2004-08-06 10:38:00) [32]2strelok-47 (06.08.04 10:29)
>не могу избавиться
Иногда "не могу" и "нельзя" разные вещи.
strelok-47 (2004-08-06 10:36:00) [33]а ежели без триггеров? К тому же манипуляции на гриде я произвожу только если работаю именно с третьей таблицей в ее гриде, в зависимости от значения одного из ее полей
GRAND25 (2004-08-06 10:33:00) [34]
> не могу избавиться, там три таблицы какскадом соеденены,
> и надо манипулировать с первым гридом, а данные брать из
> третьей
Не пойму, что мешает манипулировать в триггере? Там ты достучишься до всех нужных тебе таблиц и, главное, все расчеты будут выполняться только при необходимости - вставке новой записи или редактировании существующей.
strelok-47 (2004-08-06 10:29:00) [35]не могу избавиться, там три таблицы какскадом соеденены, и надо манипулировать с первым гридом, а данные брать из третьей
GRAND25 (2004-08-06 10:28:00) [36]Может, тебе стоило бы создать в таблице, на которую должен выполняться такой запрос, поле, которое будет содержать результаты его выполнения? В смысле, физически. А в триггерах на Insert и Update тогда нужно обеспечить правильное заполнение этого поля: т.е. в этих триггерах запрос и выполнять. А потом уж покрасить в нужный цвет строку или ячейку грида - дело техники и тормозов не будет, т.к. не будет выполняться тормозящий запрос.
ЗЫ. Вынесение бизнес-логики на сервер рулит!
Johnmen (2004-08-06 10:24:00) [37]Избавься от запроса при отрисовке. Тем более, что это порочный подход.
Для подробностей мало инфы...
strelok-47 (2004-08-06 10:19:00) [38]На каждую строку отображаемую выполняется запрос, от результата которого зависит цвет фона ячейки. Запрос довольно тяжеленький, и при отрисовке грида присутствуют некоторые тормоза. Вот от них и хочу избавиться
GRAND25 (2004-08-06 09:59:00) [39]Если тебе нужно запрограммировать особый вид ячейки в зависимости от выполнения каких-то условий, то вешайся на событие OnGetCellParams
Соловьев (2004-08-06 09:54:00) [40]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168