![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неправильно-полосатый Grid [D7, ADS]
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.