我现在用DBGRID显示库存里所有的数据,想控制每条记录根据不同的数量显示红色
例如:
1<=20 显示红色
2<=10 显示红色
3<=100 显示红色
例如:
1<=20 显示红色
2<=10 显示红色
3<=100 显示红色
解决方案 »
- 如何 区分多线程
- packed record
- 请教,如何在Form中嵌入网页?
- 在Delphi下如何]获得本机的主板序列号?我想请教高手!!!急!!!!!!!!(送分了!!!!)
- 想做一个P2P软件,不知道用什么开发语言?
- 在MDI中用dll调用子窗体,何时释放dll更好???
- ★★★★★★一个API函数调用问题,却总是报错,帮俺看看,谢谢---在线等待
- 急救:这个数据库程序的错误提示是什麽意思?
- 谁那里有用powerpoint作的关于word的课件??
- 急需求教,保证加分!请来
- 我在华为打工的日子--
- 紧急求救, 如何将下列的C语言转换为delphi 的, 解决问题者免费得到IBM TTS 开发包
http://dev.csdn.net/article/53/53439.shtm DBGrid应用全书(一)
http://dev.csdn.net/article/53/53440.shtm DBGrid使用全书(二)
http://dev.csdn.net/article/53/53441.shtm DBGrid使用全书(三)
http://dev.csdn.net/article/53/53442.shtm DBGrid使用全书(四)
http://dev.csdn.net/article/53/53443.shtm DBGrid使用全书(五)
with (Sender as TDBGrid).Canvas do
begin
if TryStrToFloat((Sender as TDBGrid).Columns.Items[DataCol].Field.AsString,f) then
begin
if f < 0 then
begin
MoveTo(Rect.Right, Rect.Top);
FillRect(Rect);
Font.Color := clRed;
TextOut(Rect.Left,Rect.Top,(Sender as TDBGrid).Columns.Items[DataCol].Field.AsString);
end;
end;
begin
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.Canvas.Brush.Color:=clWhite;
end;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);上面的代码是在字段“价格”里的值大于等于2000的时候,整行字为红色
如果只想让价格那一列成为红色
把条件改一下即可
假设“价格”字段在DBGRID中的第3列
则条件为
if (DataCol=2) and (AdoQuery1.FieldByname('价格').AsFloat>=2000) then