Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
2-1158670460
Некто_Аполло
2006-09-19 16:54
2006.10.08
Засунуть PNG в DLL


2-1158411255
greengeneral
2006-09-16 16:54
2006.10.08
Как ограничть вводимые цифры в Edit1


15-1158480993
Весь в делах
2006-09-17 12:16
2006.10.08
Разработка


1-1156305794
Kos[UFO]
2006-08-23 08:03
2006.10.08
Инспекторе объектов BDS


15-1158582444
Konstantin555
2006-09-18 16:27
2006.10.08
C помощью какой программы можно скрыть повреждённые сектора?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский