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

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

DBGrid [D7]


Wolferio ©   (2006-01-25 09:50:00) 

Добрый день!

Подскажите пожалуйста:
1. Как в DBGrid указаные строки сделать перечеркнутыми
2. Как в DBGrid указаную ячейку сделать перечеркнутой

Спасибо!


Ю.Ю.   (2006-01-28 09:58:00) [1]


> Можна ли выделить отдельные строки за условием?

Можешь, причем не оьязательно, чтобы нужные для условия поля набора данных отображались в гриде. При вызове обработчика "текущей запистью" набора данных является рисуемая запись, поэтому независимо от того, какой столбец (поле) рисуется в данном вызове обработчика всегда можно написать:

if (Sender as TDBGrid).DataSource.DataSet.Fields[0].asInteger = 1 then ...


Wolferio   (2006-01-27 15:01:00) [2]

Вопрос в догонку! :-)

Это код для выделения столбцов !?   << nstur >>

Можна ли выделить отдельные строки за условием?

Заранее Благодарен!


Wolferio   (2006-01-27 14:32:00) [3]

<<nstur>>  СПАСИБО!!!!! ПОМОГЛО!!!


nstur   (2006-01-25 11:51:00) [4]

Даю пример из своего кода.
Тебе нужно изменить свойство Font по своему усмотрению или условию

DrawColumnCell(Sender: TObject;
 const Rect: TRect; DataCol: Integer; Column: TColumn;
 State: TGridDrawState);
var
 k: integer;  
begin
 with (Sender as TDBGrid).Canvas do begin
   if (NOT(gdFocused in State)) then begin //если нужно сфокусированную строку, то это нужно убрать
     k:= Column.Field.DataSet.FieldByName(flnISFOLDER).AsInteger;
     if k = 1 then Brush.Color:= colorFolder;
     if (Column.FieldName = 'MONEY') then
       if (Column.Field.AsCurrency < 0) then
         Font.Color:= clRed;

     FillRect(Rect);
     if Column.Alignment = taRightJustify then
       TextOut(Rect.Right-TextWidth(Column.Field.Text)-3, Rect.Top+2, Column.Field.Text)
     else
       TextOut(Rect.Left+2, Rect.Top+2, Column.Field.Text);


Ega23   (2006-01-25 11:21:00) [5]


> ну а параметры которые должны стоять, какие?


Посмотри в демках Delphi


Wolferio   (2006-01-25 11:03:00) [6]


> TDBGrid.OnDrawDataCell


ну а параметры которые должны стоять, какие?

Спасибо!


Ega23   (2006-01-25 09:54:00) [7]

TDBGrid.OnDrawDataCell


Наверх

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