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

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

Неправильно-полосатый Grid [D7, ADS]


Страницы:   1 2

kyn66 ©   (2008-12-19 15:25:00) 

Уважаемые мастера, представляя информацию из таблицы в TGrid-е , я всегда делаю его полосатым. Однако недавно сталкнулся с тем, что полоски формируются неправильно, если таблица индексирована по некоторому полю. http://yurec66.narod.ru/Hlam/vop1.jpg. В данном случае обрабатываю так:

...
Const
  BackColors : array[Boolean] of TColor = (clWhite, clBtnFace);
....

procedure TTiragVLFrm.DBGridEh1GetCellParams(Sender: TObject;
 Column: TColumnEh; AFont: TFont; var Background: TColor;
 State: TGridDrawState);
begin
 Background := BackColors[DM1.SvodTVLTbl.RecNo mod 2 <> 0];
end;


Т.е. в данном случае RecNo не совпадает с номером по ключу. Можно-ли это как побороть, чтобы полоски следовали в четкой последовательности?


Leonid Troyanovsky   (2008-12-23 19:44:00) [1]


> dbgrid   (23.12.08 19:20) [36]

> эээ... что есть "мадьяр"?

Мадьяр = венгр.
Гашека не читаем? Но, а в Пилзнер ходим.
Плохо-плохо.


dbgrid   (2008-12-23 19:20:00) [2]


> Leonid Troyanovsky ©   (23.12.08 19:05) [35]


> Плохо ты, брат, мадьяр знаешь!

эээ... что есть "мадьяр"?


> Никакой я не буквоед, я Начинающим - как родная мама,
> просто-таки сопли утираю :)

оплеухами?


Leonid Troyanovsky   (2008-12-23 19:05:00) [3]


> dbgrid   (23.12.08 18:46) [34]

> а еще твоя хобби буквоедством заниматься - не раскроешь
> секрет "ну пачиму"?

Плохо ты, брат, мадьяр знаешь!

Никакой я не буквоед, я Начинающим - как родная мама,
просто-таки сопли утираю :)

--
Regards, LVT.


dbgrid   (2008-12-23 18:46:00) [4]


> Leonid Troyanovsky ©   (23.12.08 18:31) [33]


> http://www.rsdn.ru/Forum/?mid=907742

понимать-понимать...
а еще твоя хобби буквоедством заниматься - не раскроешь секрет "ну пачиму"?


Leonid Troyanovsky   (2008-12-23 18:31:00) [5]


> dbgrid   (23.12.08 18:18) [32]

> там нужно было передвигать курсор(БД-шный) за курсором мышки:

Моя твоя не понимать. См [22].

А во-ще
http://www.rsdn.ru/Forum/?mid=907742

--
Regards, LVT.


dbgrid   (2008-12-23 18:18:00) [6]


> Leonid Troyanovsky ©   (20.12.08 16:44) [29]

там нужно было передвигать курсор(БД-шный) за курсором мышки:)


Leonid Troyanovsky   (2008-12-23 16:19:00) [7]


> kyn66 ©   (23.12.08 11:36) [30]

> А ничего, что у меня используется DBGridEh ?

TTDLDBGrid = class (TDBGridEh)

--
Regards, LVT.


kyn66   (2008-12-23 11:36:00) [8]


> И почему закомментирован DefaultDrawColumnCell?


Он закомментирован в одном месте, и работает в другом. Т.е. как я понимаю, сперва отрабатывают дефолтовые настройки, а уж потом свои. Он сразу стоял там  где сейчас закоментирован. Хотя и так и так - одинаково работало ...

> TTDLDBGrid= class(TDBGrid)


А ничего, что у меня используется DBGridEh ?


Leonid Troyanovsky   (2008-12-20 16:44:00) [9]


> Германн ©   (20.12.08 01:14) [14]

> Ааа. Так вот что имелось в виду в том вопросе о номере строки
> в DBGrid

Нет, там имелся ввиду номер строки.

--
Regards, LVT.


Leonid Troyanovsky   (2008-12-20 16:21:00) [10]


> Leonid Troyanovsky ©   (20.12.08 16:18) [27]

Ну, и, конечно, public property DataLink, sorry.

--
Regards, LVT.


Leonid Troyanovsky   (2008-12-20 16:18:00) [11]


> sniknik ©   (19.12.08 21:24) [13]

> type
>  TDLDBGrid = class(TDBGrid);

Пожалуй, что без полноценного потомка здесь не обойтись.

type
 TTDLDBGrid= class(TDBGrid)
  protected
    procedure Scroll(Distance: Longint); override;
  end;

procedure TDLDBGrid.Scroll;
begin
 inherited;
 Invalidate;
end;


--
Regards, LVT.


Leonid Troyanovsky   (2008-12-20 15:52:00) [12]


> kyn66 ©   (20.12.08 14:46) [25]

>  при том что все работает, что требовалось от этого кода.

Бред бывает и правдоподобным.
Так, например, излагаются сверхценные идеи.

Что требовалось от каждой строки кода:

   if (Rect.Top = CellRect(Col, Row).Top) then
    begin
      Columns[1].Alignment  := taRightJustify;
      Columns[2].Alignment  := taRightJustify;

?
И почему закомментирован DefaultDrawColumnCell?

И где там "из рабочего кода"?

> Неужто нельзя просто сказать

А что тебе непонятного сказали?

--
Regards, LVT.


kyn66   (2008-12-20 14:46:00) [13]


> В-третьих, разобраться-то нужно именно тебе.


Нет, ну зачем плодить ненужные посты. Этот кусок я взял из рабочего кода, для чтобы показать, что у меня на этом событии работает. Неужто нельзя просто сказать, что не так, при том что все работает, что требовалось от этого кода.


Leonid Troyanovsky   (2008-12-20 14:38:00) [14]


> kyn66 ©   (20.12.08 14:35) [23]

> А не проще прикрутить к своему гриду и посмотреть результат.

Видишь ли, Юра..

Во-первых, мне жалко мой грид.
Во-вторых, мне это и так очевидно.
В-третьих, разобраться-то нужно именно тебе.

--
Regards, LVT.


kyn66   (2008-12-20 14:35:00) [15]


> как ты прокомментируешь каждую из написанных там строк.

А не проще прикрутить к своему гриду и посмотреть результат. Хорошо, насчет "курсора" - согласен.


Leonid Troyanovsky   (2008-12-20 14:19:00) [16]


> kyn66 ©   (20.12.08 13:42) [19]

> Для кого бред, а все правильно работает. Курсор.... Хм,.
>  неужели здесь на форуме все такие умные, что про элементарное
> позабыли ? 8). Когда передвигаешься пл гриду вверх - вниз,
>  курсор(гор-ая полоса цвета  clMoneyGreen)

Я знаю два понятия курсора, которые могут быть связаны с гридом.
Но называть курсором  выделенную|текущую|активную строку|ряд|запись
не собираюсь. Потрудитесь выражать свои мысли точней.

А то, что в обработчике написан бред, станет Очевидно после того,
как ты прокомментируешь каждую из написанных там строк.

--
Regards, LVT.


kyn66   (2008-12-20 13:56:00) [17]


> в ехлибе полосатость поддерживается самим гридом. и писать
> ничего не надо


Там есть особенность для полосатости, ща не помню точно, но не всегда подключается, уже проверял.


Поросенок Винни-Пух   (2008-12-20 13:44:00) [18]

в ехлибе полосатость поддерживается самим гридом. и писать ничего не надо


kyn66   (2008-12-20 13:42:00) [19]


> У тебя на этом событии бред записан.

Для кого бред, а все правильно работает. Курсор.... Хм,. неужели здесь на форуме все такие умные, что про элементарное позабыли ? 8). Когда передвигаешься пл гриду вверх - вниз, курсор(гор-ая полоса цвета  clMoneyGreen) передвигается по гриду и текст становится жирным, если в фокусе. Проверь у ся это потом про бред говори!


Leonid Troyanovsky   (2008-12-20 13:36:00) [20]


> kyn66 ©   (20.12.08 13:22) [17]

> событии идет отрисовка курсора в таблице.

Какого, на, курсора?
У тебя на этом событии бред записан.

--
Regards, LVT.


Страницы:   1 2

Наверх

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