Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.07;
Скачать: CL | DM;

Вниз

DBGrid   Найти похожие ветки 

 
Potemkin ©   (2002-02-07 09:38) [0]

Есть у этого чудного компонента так называемые FixedColumns, а именно колонка одна по умолчанию. И в зависимости от состояния ДатаСета(Browse, Delete, Insert и т.п.) там меняется вид указателя (треугольник, многоточие, кружок).
Вопрос состит в том как там прорисовать свой указатель, есть поле логическое и в соответствии два указателя, например плюс и минус, надеюсь изложил все достаточно корректно, хотелось мне глупому получить хорошее теоритическое и практическое объяснение по этому вопросу.
Просветите Мастера.
Благодарю за внимание к вопросу.


 
Gregory   (2002-02-08 08:51) [1]

1. Добавь столбец, например через редактор столбцов в design time (double click на DBGrid), установи ширину, текст заголовка и т.п. Только в FieldName, укажи название не встречающееся в связанном с данным гридом DataSet - например, BoolField1.
2. Создай обработчик события OnDrawColumnCell:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DBGrid1.Columns[ DataCol ].FieldName = "BoolField1" then
begin
{ рисуем + или -, например, в зависимости от значения поля в DataSet }
with DBGrid1.Canvas do
begin
Pen.Color := clWindowText;
// линия минуса
MoveTo( Rect.Left + 2, Rect.Top + ( Rect.Bottom - Rect.Top ) div 2 );
LineTo( Rect.Right - 2, Rect.Top + ( Rect.Bottom - Rect.Top ) div 2 );
if ( DataSet[ "field" ] = "<value>" ) then
begin
// линия плюса
MoveTo( Rect.Left + ( Rect.Right - Rect.Left ) div 2, Rect.Top + 2 );
LineTo( Rect.Left + ( Rect.Right - Rect.Left ) div 2, Rect.Bottom - 2 );
end;
end;
end;
end;




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

Текущий архив: 2002.03.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
6-19271
[TLS]Lord
2001-12-18 11:37
2002.03.07
Что, этого не кто не знает?


1-19210
Юрий Федоров
2002-02-19 12:00
2002.03.07
Где мы находимся?


1-19178
macinsoft
2002-02-18 09:24
2002.03.07
Как скопировать объект?


14-19304
ZEE
2002-01-21 02:49
2002.03.07
Resource WorkShop


1-19181
olookin
2002-02-18 14:14
2002.03.07
Удаление формы из динамического массива