|

楼主 |
发表于 2010-6-3 17:18:35
|
显示全部楼层
procedure TJBXXWG.DataGridCustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
var
I:Integer;
begin
{ begin
if DataSetBrokerSBJBXX.DataSet.FieldByName('jxfzxs').AsInteger=0 then
AColor:=Graphics.clMoneyGreen
end }
for I := 0 to DataGrid.ColumnCount - 1 do
begin
//循环取列找到相应的项(由于列允许移动位置和分组,所以不能固定),并判断其值
if (DataGrid.Columns[I].FieldName = 'JXFZXS') then
begin
if (SysUtils.trim(ANode.Strings[I])='0') then
begin
AColor := Graphics.clMoneyGreen;
Break;
end;
end;
end;
end;
将JXFZXS字段加入DataGrid,将该列Visible=False
改为上面的代码,实现了组内分组的颜色改变。 |
|