怎么办,像EXCEL中负数为红.怎么办??怎么显示啊.(100分)

  • 主题发起人 主题发起人 小草
  • 开始时间 开始时间

小草

Unregistered / Unconfirmed
GUEST, unregistred user!
请问当DBGRID中当出现负数(某一个单元格,而不是一行)要
这个数字以红色显示.
像EXCEL中负数为红.怎么办??
 
使用DBGrid的OnDrawColumCell时间,判断Fields[n].AsInteger,然后赋值了。
procedure TForm1.DBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if query1.FieldByName('Col1').AsString <> '' then
dbgrid1.Canvas.Brush.Color := $00E0FFFF
else
dbgrid1.Canvas.Brush.Color := clWhite;

if (gdSelected in State) then
begin
dbgrid1.Canvas.Brush.Color := clNavy;
dbgrid1.Canvas.Font.Color := clWhite;
end;

dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
 
已经解释得很清楚了。
 
我用的是DXDBGRID
 
就是yzhshi说的那样,
 
这句通不过
 
在dxDBGrid1CustomDrawCell事件中:
设第二个字段的类型是整数,要对它做处理
if AColumn.Index = 1 then
begin
if StrToInt(AText) < 0 then
begin
AColor := clWhite; //单元格的颜色
AFont.Color := clRed; //字的颜色
end;
end;
 
在记录集中处理负数 字体为红,或在excel中处理
 
接受答案了.
 
后退
顶部