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的!