双击cxgrid选中的行,改变其颜色? 想要实现双击一行改变其颜色,当行移动后,其颜色不变,等再双击此行,去掉颜色,不怎么会用cxgrid,请教高手该如何写代码?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的想法是先在数据库中存一个标示字段,双击时设为True,再双击改为False;然后在GetContentStyle中根据这个值改变颜色下面是在网上找的一个例子和我做过的程序varAYellowStyle: TcxStyle;procedure TForm1.FormCreate(Sender: TObject);begin//行颜色AYellowStyle := TcxStyle.Create(Self);AYellowStyle.Color := $0080FFFF;AYellowStyle.TextColor := clMaroon;end;procedure TForm1.cxGrid1DBBandedTableView1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);beginif ARecord.Values[cxGrid1DBBandedTableView1Lengthcm.Index] < 81 thenAStyle := AYellowStyle;end;procedure TfrmModifyQueryInvertory.cxGridDBQueryStylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);var N:Integer; ADisplayStyle :TcxStyle;begin inherited; N :=cxGridDBQuery.GetColumnByFieldName('ProfitMark').Index; ADisplayStyle :=TcxStyle.Create(Self); try if ARecord.Values[N]='盘盈' then begin ADisplayStyle.Color :=clYellow; ADisplayStyle.Font.Color :=clBlack; AStyle :=ADisplayStyle; end else if ARecord.Values[N]='盘亏' then begin ADisplayStyle.Color :=clRed; ADisplayStyle.Font.Color :=clBlack; AStyle :=ADisplayStyle; end; finally ADisplayStyle.Free; end; 这个报错信息如何解决 请问怎样将dbgrid输出到XML文件中? 关于rave报表的自动计算问题 在程序中如何在FORM与FORM之间传递参数(不用全局变量) 请问各位大侠,你们在给客户进行远程维护时一般用什么方案!欢迎讨论! 如何修改Delta数据包中的信息 如何用SQ语句将字段aa(字符型)值不是有效的日期值查找出来? 唉,真不知道你们是怎么学Delphi的 如何在硬盘上动态的建立一个文本文件或一个数据库文件!!谢谢23分送出!!! 请教Canvas的Pen属性的Mode属性究竟是什么意思? 在DBGrid中货币类型的数据显示如何显示两位 文字复制 急 在线等
下面是在网上找的一个例子和我做过的程序
var
AYellowStyle: TcxStyle;procedure TForm1.FormCreate(Sender: TObject);
begin
//行颜色
AYellowStyle := TcxStyle.Create(Self);
AYellowStyle.Color := $0080FFFF;
AYellowStyle.TextColor := clMaroon;
end;procedure TForm1.cxGrid1DBBandedTableView1StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
if ARecord.Values[cxGrid1DBBandedTableView1Lengthcm.Index] < 81 then
AStyle := AYellowStyle;
end;procedure TfrmModifyQueryInvertory.cxGridDBQueryStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
N:Integer;
ADisplayStyle :TcxStyle;
begin
inherited;
N :=cxGridDBQuery.GetColumnByFieldName('ProfitMark').Index;
ADisplayStyle :=TcxStyle.Create(Self);
try
if ARecord.Values[N]='盘盈' then
begin
ADisplayStyle.Color :=clYellow;
ADisplayStyle.Font.Color :=clBlack;
AStyle :=ADisplayStyle;
end else
if ARecord.Values[N]='盘亏' then
begin
ADisplayStyle.Color :=clRed;
ADisplayStyle.Font.Color :=clBlack;
AStyle :=ADisplayStyle;
end;
finally
ADisplayStyle.Free;
end;