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

Вниз

Выделение цветом ячейки в DBGrid   Найти похожие ветки 

 
nik ©   (2004-06-30 10:09) [0]

как можно сделать определенную ячейку другим цветом
на пример если в данной ячейке слово "зеленый" то ячейка зеленая а если слово "красный" то она красная


 
Explorer   (2004-06-30 10:16) [1]

обрабатывай onDrawColumnCell  сетки.
примерно так:
if(QueryActiveDogovors.FieldByName("OnDatePaid").AsDateTime)=date() then begin
         DBGridActiveDogovors.{Columns[0]}Canvas.Font.Color:=clBlue;
end;


 
Алхимик ©   (2004-06-30 13:38) [2]

А если в ячейке слово "серо-буро-малиновый"?


 
Explorer   (2004-06-30 14:02) [3]

>Алхимик ©
ну тогда светомузыка получится :)


 
nik ©   (2004-07-07 10:12) [4]

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


 if ADOTable1.FieldByName("S_DATE").AsString = "" then
    DBGrid1.Canvas.Font.Color := clred;

это в OnDrawColumnCell объекта DbGrid


 
Соловьев ©   (2004-07-07 10:15) [5]


> а мне бы хотелось что бы она покраснела при выводе на экран,
> ну тоесть

приведи код как ты сделал.
и, кстати, очень полезно - http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168


 
_ALEXey_   (2004-07-07 11:38) [6]

А обработку не в OnDrawDataCell надо?


 
ЮЮ ©   (2004-07-07 11:42) [7]

ADOTable1.FieldByName("S_DATE").AsString = ""
для текущей записи независимо от того, где стоит курсор. Очевидно этот код стоит внутри еще какого-то if


 
nik ©   (2004-07-12 13:39) [8]

to Соловьев
Спасибо за ссылку она решила все мои вопросы, относительно выделения!!!
Это способ выделения когда на данной ячейке стоит курсор

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if ADOTable1.FieldByName("S_DATE").AsString = "" then
 DBGrid1.Canvas.Font.Color := clred;
end;



procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if ADOTable1.FieldByName("S_DATE").AsString = "" then

если необходимо выделять только данную ячейку то добавляем еще одно условие

 if Column.FieldName = "S_DATE" then


with  DBGrid1.Canvas do
begin
 Brush.Color:=clGreen;
 Font.Color:=clWhite;
 FillRect(Rect);
 TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
end;
end;

to ЮЮ
нет данный код ни в каком if болие не замешан. (в иных порочных связях тоже :-) )

to _ALEXey_  я ещё не доконца разобрался с обработчиками но по моему
OnDrawColumnCell - влияет на внешний вид ячейки, а
OnDrawDataCell   - влияет на содержимое ячейки,
но это мое субективно не разобравшееся до конца мнение


 
ЮЮ ©   (2004-07-13 03:33) [9]

Поставь DBGrid1.DefaultDrawing = false, а в конце обработчика добавь:

TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);



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

Форум: "Базы";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
14-1090552599
Думкин
2004-07-23 07:16
2004.08.08
Новосибирск - 5?


3-1089778360
User_OKA
2004-07-14 08:12
2004.08.08
DBGrid


8-1085055014
Musiy
2004-05-20 16:10
2004.08.08
Как сделать плавный переход полупрозрачности........


9-1083130788
LENIN
2004-04-28 09:39
2004.08.08
Delphi


1-1090845574
chirchik
2004-07-26 16:39
2004.08.08
Splash Screen





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