Текущий архив: 2006.10.08;
Скачать: CL | DM;
ВнизTFIBDataSet получить следующее значение поля в OnDrawColumnCell Найти похожие ветки
← →
DelphiLexx © (2006-08-09 16:18) [0]В OnDrawColumnCell происходит моя отрисовка нижней граници сетки записи в том случае если следующее значение конкретного поля TFIBDataSet <= текущего.
Я делаю так:
TFIBDataSet.First;
CurrValue := TFIBDataSet.FieldByName("Field1").AsInteger;
TFIBDataSet.Next;
NextValue := TFIBDataSet.FieldByName("Field1").AsInteger;
if CurrValue >= NextValue then
begin
{здесь я осуществляю свою прорисовку}
end;
Всё это приводит к зацикливанию OnDrawColumnCell
Как все таки нужно решать задачу.
← →
MsGuns © (2006-08-09 16:57) [1]Вместо TIBDataSet использовать для отображения TCLientDataSet, куда предварительно загрузить полученный с сервера запросом НД. Предварительно добавить доп.поле флагов.
Потом этот датасет отсортировать как надо и, просканировав его, выставить флаги как нужно.
Отрисовка же делается с помощью этих флагов и безо всякого "прыгания" и "скакания" по датасету.
← →
Ega23 © (2006-08-09 17:11) [2]
TFIBDataSet.DisableControls;
try
TFIBDataSet.First;
CurrValue := TFIBDataSet.FieldByName("Field1").AsInteger;
TFIBDataSet.Next;
NextValue := TFIBDataSet.FieldByName("Field1").AsInteger;
if CurrValue >= NextValue then
begin
{здесь я осуществляю свою прорисовку}
end;
finally
TFIBDataSet.EnableControls;
end;
?
← →
MsGuns © (2006-08-09 17:21) [3]>Ega23 © (09.08.06 17:11) [2]
Угу, а Eof Пушкин будет ловить ?
Кроме того, что делать с разными событиями датасета, фильтрацией, возможными переходами датасета из одного режима в другой (при редактировании в гриде) и т.д. ?
Засовывать перемещения по датасету в обработчик прорисовки отображающего его грида - верный способ получения жирного гемора
← →
clickmaker © (2006-08-09 17:23) [4]можно вычисляемое поле сделать для определения форматирования
← →
sniknik © (2006-08-09 17:28) [5]> Ega23 © (09.08.06 17:11) [2]
[0] > В OnDrawColumnCell ...
EnableControls вызовет рефреш .... и...
> Всё это приводит к зацикливанию OnDrawColumnCell
DelphiLexx
не надо в отрисовке грида лезть и менять данные которые рисуются, прыгать по нм... лучше исправь логику того, что хочеш сделать... твоя ошибочна.
← →
Ega23 © (2006-08-09 17:35) [6]
> EnableControls вызовет рефреш .... и...
А вызовет ли?
← →
Ega23 © (2006-08-09 17:37) [7]Посмотрел. Вызовет.
Я, кстати, если это кого-то интересует, вообще всё на уровне запроса бы сделал.
Кстати, именно этим в данный момент времени и занимаюсь (раскраской грида)
← →
Ega23 © (2006-08-09 17:37) [8]
> Угу, а Eof Пушкин будет ловить ?
Я особо не вникал в то, что между First и т.д.
Страницы: 1 вся ветка
Текущий архив: 2006.10.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.042 c