Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обмирает OddRowColor в DBGridEh'e


DelphiLexx ©   (2006-11-15 11:41:00) 

В DBGridEh'e есть свойство OddRowColor, которое позволяет закрашивать нечетные строки определенным цветом. У меня DBGridEh связан по принципу MasterDetail. В итоге получается, что в OddRowColor'e выставляю определенный цвет, а строки грида все равно остаются не закрашенными. Если же курсор грида выставляю на последнюю запись, то записи начинаются красится.


DelphiLexx   (2006-11-15 14:44:00) [1]


> ага. Только это до поры до времени, ибо "метод тыка" далеко
> не всегда дает понять причину, и соответственно, не гарантирует
> ничего, в отличие от [6]

Знаю. Так что же делает PrecalcRC = true


KilkennyCat   (2006-11-15 12:36:00) [2]

> [8] DelphiLexx ©   (15.11.06 12:29)

ага. Только это до поры до времени, ибо "метод тыка" далеко не всегда дает понять причину, и соответственно, не гарантирует ничего, в отличие от [6]


DelphiLexx   (2006-11-15 12:29:00) [3]


> почему мне понадобилось 2 минуты, чтоб найти это в DBGridEh.
> pas? И мозги не перегорели.

С момента [5] поста для решения проблемы мне потребовалось 1 минуту и без исходников.


DelphiLexx   (2006-11-15 12:22:00) [4]


> Попробуй:
> DBGridEh.SumList: Active:= True;
>                  VirtualRecords:= True;

Я сделал так у датасета подчиненной таблицы выставил свойство PrecalcRC = true и все стало нормально. Кто-нибудь может это объяснить?


clickmaker   (2006-11-15 12:21:00) [5]


> [4] DelphiLexx ©   (15.11.06 12:18)

почему мне понадобилось 2 минуты, чтоб найти это в DBGridEh.pas? И мозги не перегорели.

if SumList.RecNo mod 2 = 1
                 then Brush.Color := OddRowColor
                 else Brush.Color := EvenRowColor

RecNo значит не определяется. Вернее, определяется, когда ты встаешь на последнюю, т.е. делаешь Last и фетчишь все из базы


Aport   (2006-11-15 12:19:00) [6]

Попробуй:
DBGridEh.SumList: Active:= True;
                 VirtualRecords:= True;


DelphiLexx   (2006-11-15 12:18:00) [7]


> посмотри в исходниках код закрашивания. Может яснее станет,
>  что ему там не хватает

Темный лес - мозги поламаешь


clickmaker   (2006-11-15 12:01:00) [8]


> [2] DelphiLexx ©   (15.11.06 11:58)

посмотри в исходниках код закрашивания. Может яснее станет, что ему там не хватает


DelphiLexx   (2006-11-15 11:58:00) [9]


> а где идет закрашивание?

Закрашивание идет в подчиненной таблице (гриде). В главной раскрашивается все прекрасно.


KilkennyCat   (2006-11-15 11:49:00) [10]

а где идет закрашивание?


Наверх

Титульная страница Поиск, карта сайта Написать письмо