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

Вниз

Работа со значениями в DBGrid.   Найти похожие ветки 

 
Bill   (2003-04-17 09:07) [0]

Как организовать такой вид DBGrid:
1. Необходимо, чтобы в 4-й колонке у всех значений после запятой было 2 знака.
2. Необходимо, чтобы в 5-й колонке у всех значений после запятой было 2 знака и отрицательные числа выводились красным цветом.


 
ЮЮ ©   (2003-04-17 09:14) [1]

B onDrawCell можешь рисовать что угодно и как угодно


 
Bill   (2003-04-17 09:17) [2]

А поконкретней. Пожалуйста!!!


 
ЮЮ ©   (2003-04-17 09:22) [3]

TCustomDBGrid.OnDrawDataCell
Occurs when the grid needs to paint a cell if the State property of Columns is csDefault.

type
TDrawDataCellEvent = procedure (Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState) of object;

Куда уж конкретнее, Rect - прямоугольник, где надо нарисовать,
Field - нужное поле.




 
Соловьев ©   (2003-04-17 09:42) [4]

TNumericField.DisplayFormat


 
Anatoly Podgoretsky ©   (2003-04-17 09:46) [5]

Соловьев © (17.04.03 09:42)
Только для 4 колонки.


 
Соловьев ©   (2003-04-17 09:48) [6]


> Только для 4 колонки.

сорри, но может у него в первых 3 и после 5-й не числовые значения :))))


 
Bill   (2003-04-17 09:52) [7]

Да 1,2,3 - это строковые параметры а не числовые


 
Соловьев ©   (2003-04-17 09:54) [8]

ну так юзай это свойство(хелп только глянь), но для отрисовки цветом прийдется делать как говорит ЮЮ.


 
Anatoly Podgoretsky ©   (2003-04-17 10:08) [9]

Соловьев © (17.04.03 09:48)
Не в этом дело, в пятой отрицательные числа должны быть красными, так что на подмогу требуется звать и OnDrawDataCell


 
NDeu ©   (2003-04-17 10:25) [10]


> у всех значений после запятой было 2 знака

см. Соловьев © (17.04.03 09:42)
TNumericField.DisplayFormat


> отрицательные числа выводились красным цветом

см.
Type
TDrawColumnCellEvent = procedure (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState) of object;
property OnDrawColumnCell: TDrawColumnCellEvent;

примерно так:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
If Column.Field.AsFloat<0
then begin
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end
else DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;




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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
7-23404
Lili
2003-03-17 09:29
2003.05.08
COM порт в Win2k. Help!!!


1-23108
Matrex
2003-04-27 10:34
2003.05.08
Проблема работы с DLL под W2000


1-23147
Pasha
2003-04-24 12:01
2003.05.08
---|Ветка была без названия|---


3-23013
VadimS
2003-04-18 09:32
2003.05.08
Изменение значения поля


6-23266
Darkman
2003-03-13 16:22
2003.05.08
Написание программы удаленного администрирования