请问我建有一个SQL SERVER 2000的数据库,里面有一个表WZGLK,其中有三个字段:ZDKCL(最低库存量)、ZGKCL(最高库存量)、KC_SL(库存数量),在DBGridEH中显示该表时我想让KC_SL小于ZDKCL的那些记录的KC_SL值以红色的字来显示,让KC_SL大于ZGKCL的那些记录的KC_SL值以蓝色的字来显示,介于二者之间的那些记录以黑色的字来显示,可以实现吗?具体该怎么做?谢谢!
解决方案 »
- 请问delphi用什么工具编写啊?能否指教下下?本人新手~~~
- TThread类中 ping 资源的释放
- 求高手帮忙,StringGrid的问题,好象很多人问过了,但是好象没有完美的解决,还是这个控件的缺陷?
- 大富翁离线数据库CHM格式发布
- 帮忙看看怎么解决!
- 急!急!急!急!急!急!急!急!急!急!急!急!急!
- 一个判断窗体内edit,combobox组件是否为空的过程??急用??
- 一个SQL 数据库的存储过程问题
- 又不好意思了,刚才发的贴子写错了,应该是获得第一列第二行的值该怎么办呢,table1.first;table1.Fields[0].Value;只能获得第一行第一列的
- 关于TeamSource的详细使用
- 程序之间的传递消息
- 请教..
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field=tblWZGLKKC_SL then
begin
if tblWZGLKKC_SL .value < tblWZGLKZDKCL then
DBGrid1.Canvas.Font.Color := clred
else
if tblWZGLKKC_SL .value > tblWZGLKZGKCL then
DBGrid1.Canvas.Font.Color := clblue;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
///
i:integer;
str_dx:string;
begin
for i:=1 to (DBGridEh2.columns.Count-2) do
begin
str_dx:=trim(ADO_WXtable.Fields[i+1].FieldName);
if (DataCol =i)and(ADO_WXtable.FieldByName(str_dx).Value = '相同') then
begin
DBGridEh2.Canvas.Font.Color := clBlack;
DBGridEh2.Canvas.Brush.Color := clBlue;
DBGridEh2.DefaultDrawColumnCellRect,DataCol,Column,State);
end;
end;
end;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
///
i:integer;
str_dx:string;
begin
for i:=1 to (DBGridEh2.columns.Count-2) do
begin
str_dx:=trim(ADO_WXtable.Fields[i+1].FieldName);
if (DataCol =i)and(ADO_WXtable.FieldByName(str_dx).Value = '相同') then
begin
DBGridEh2.Canvas.Font.Color := clBlack;
DBGridEh2.Canvas.Brush.Color := clBlue;
DBGridEh2.DefaultDrawColumnCellRect,DataCol,Column,State);
end;
end;
end;