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

Вниз

DBGrid, раскраска строчек   Найти похожие ветки 

 
avsam   (2005-01-28 16:50) [0]

Как ищменить DBGrid, чтоб в нем цвет строк чередовался?
Т.е. одна строка белая, вторая серая...


 
Shirson ©   (2005-01-28 17:09) [1]

Пишешь обработчик на DrawColumnCell например.
В нём смотришь, если строка четная, то красишь серым, если нет - белым.


 
avsam   (2005-01-28 17:17) [2]

Это понятно.
А как определить, четная или нечетная строка?


 
Shirson ©   (2005-01-28 17:43) [3]

RecNo не устраивает?

Тогда, на выбор:
1. Заведи переменную и при каждой обработке прибавляй к ней 1.
2. Вставь в запрос вычисляемое поле, которое будет выдавать порядковые номера или сразу чётность/нечётность.
3. Заведи отдельный StringList и копируй в него НД. При обработке IndrxOf даст порядковый номер.

Можно еще чего придумать.


 
Antonn ©   (2005-01-28 18:25) [4]


> 1. Заведи переменную и при каждой обработке прибавляй
> к ней 1.

зачем переменные?

procedure TFormConf.SG_STATUSDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
var s:string;
begin
    if (ARow div 2)*2=(ARow) then begin
     SG_STATUS.Canvas.Font.Color  := clblack;
     SG_STATUS.Canvas.Brush.Color := clwhite;
    end else begin
     SG_STATUS.Canvas.Font.Color  := clwhite;
     SG_STATUS.Canvas.Brush.Color := clblack;
    end;
  SG_STATUS.Canvas.FillRect(Rect);
  SG_STATUS.Canvas.TextOut(Rect.Left, Rect.Top, SG_STATUS.Cells[ACol, ARow] );
end;
SG_STATUS - это у меня StringGrid
Надо это вместо баннера прилепить, чтоб виднее...


 
Gek1   (2005-01-28 18:34) [5]


> if (ARow div 2)*2=(ARow) then

if (ARow mod 2) = 0 then

так помоему быстрее. Мелочь но всетаки!


 
begin...end ©   (2005-01-28 18:39) [6]

Вы про функцию Odd не слышали?


 
Gek1   (2005-01-28 18:41) [7]


> begin...end

Склироз. :-) Действительно лучше Odd.


 
Antonn ©   (2005-01-28 18:46) [8]

Gek1   (28.01.05 18:34) [5]
Ага, если честно, про mod совсем забыл:( Стареем...

ЗЫ А ФАК вообще обновляется? Подобные вопросы уже замучили...


 
tazik ©   (2005-01-29 00:22) [9]

Я, например, делаю так:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (clientDataSet1.RecNo mod 2) = 0 then
 begin
   DBGrid1.Canvas.Brush.Color := $00FAF0EB;
   DBGrid1.Canvas.Font.Color := clNavy;
 end;

if gdSelected in State then
 begin
   DBGrid1.Canvas.Brush.Color := clHighlight;
   DBGrid1.Canvas.Font.Color := clHighlightText;
   DBGrid1.Canvas.Font.Style := [fsBold];
 end;

dbGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;


 
Johnmen ©   (2005-01-29 01:51) [10]

Любой поисковик+полосатый dbgrid


 
avsam   (2005-01-29 21:53) [11]

Решил проблему.
В DBGrid1DrawColumnCell для Grid пишем

if DBGrid1.Datasource.Dataset.RecNo mod 2 = 0 then
один цвет
else
другой.

Устроил именно RecNo. Счетчик не может работать, так как при скроллинге и при перелистывании получается неверно.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
14-1106327826
olookin
2005-01-21 20:17
2005.02.13
Кусок сердца


1-1107077596
focor
2005-01-30 12:33
2005.02.13
Вскрыть кнопку


1-1106902280
Jay1982
2005-01-28 11:51
2005.02.13
AddFontResource


4-1103660674
Shamansky
2004-12-21 23:24
2005.02.13
кодирование информации


14-1105507143
NewDelpher
2005-01-12 08:19
2005.02.13
ВТО





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский