首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

cxgrid 根据A列的值设定B列值的颜色解决方案

2013-01-25 
cxgrid 根据A列的值设定B列值的颜色需求是这样,要将A列的值与B列的值进行比较,如果A列的值小于B列的值,那B

cxgrid 根据A列的值设定B列值的颜色
需求是这样,要将A列的值与B列的值进行比较,如果A列的值小于B列的值,那B列的值就显示为红色。

共有4列要作比较。请问如何写代码?

A<b   b列值显示红色
d<f   f列值显示红色
g<j   j列值显示红色
m<w   w列值显示红色
[解决办法]
//假定窗体为Form1、表格为cxGrid1DBTableView1,则:


procedure TForm1.cxGrid1DBTableView1StylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var i:integer;
begin
  if AItem=nil then exit;
  case AItem.Index of
    1: i := 0; //A列为0,B列为1
    5: i := 3; //F列为5,D列为3
    9: i := 6; //J列为9,G列为6
    22: i := 12; //W列为22,M列为12
  else
    exit;
  end;
  if ARecord.Values[AItem.Index]>ARecord.Values[i] then//如果该记录的当前列的值大于参照列的值
    AStyle.Color:=clRed//用红底色显示
  else
    AStyle.Color:=clWindow; //用白底色显示
end;

[解决办法]
呵呵!
CxGrid底下有Demo的!

热点排行