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