![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нарушение полосатости грида при SQL-запросах [D7, WinXP]
kyn66 © (2009-09-02 13:46:00)Добрый день. Когда то я здесь задавал вопрос по теме САБЖ. Решение вопроса так и небыло достигнуто. Сейчас я всетаки обнаружил ответ на этот вопрос и с радостью хочу поделиться со всеми, кто сталкивался с такой проблемой. Исходные данные:
TDBGridEx, TAdsQueryВо время формирования запроса и сортировки по одному из полей, порядок следования цветных полос сбивался, когда я использовал вот это:
procedure TMainFrm.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
...
Const
BackColors : array[Boolean] of TColor = (clWhite, clBtnFace);
...
Background := BackColors[(Sender as TDBGridEh).DataSource.DataSet.RecNo mod 2 <> 0];
end;
Затем этот способ представления полосатости был заменен использование свойств самого TAdsQuery Sequenced. Но и после этого картина не изменилась! Сегодня я случайно обратил внимание еще на одно свойство SecuencedLevelи решил его проверить. Когда оно было по умолчанию slStandard- ничего не менялось. Но стоило мне его изменить на slExact- все заработало как нужно!!! "Полосатость" восстановилась при любых забросах. Так что, если кому это пригодится - запоминайте!
Медвежонок Пятачок (2009-09-03 11:18:00) [61]Про DataSet.RecNo тебе уже говорили.
kyn66 (2009-09-03 10:18:00) [62]Не успел нарадоваться успеху, как обнаружил, что в аналогичной программе, с почти одинаковым запросом картина осталась прежней, нормальное чередование полос нарушено. :(. Я уже и не знаю на что думать. Хотя в комплекте ADS есть утилита Arc32? посредством которой можно управлять данными. ТАк вот в ней при любых запросах чередование никогда не нарушается.