procedure TZXDT.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,j:integer;
begin
if b_flag=false then exit; //不交卷,则返回
if ANode.HasChildren and not ANode.Selected then
begin
//按照答题的对错控制标题的颜色
//外面的循环存储答题的结果和题目信息;里面的循环和当前DataGrid的标题进行对比,如果相同并且答错就置红!
for j:=0 to DataGrid.ColumnCount - 1 do
begin
for i:=0 to ts_title.Count - 1 do
begin
jsdialogs.ShowMsg(SysUtils.trim(ANode.Strings[j]),ts_title);
jsdialogs.ShowMsg(ts_title,ts_ruslt);
if SysUtils.trim(ANode.Strings[j]) =ts_title then
begin
//判断设置什么颜色
if ts_ruslt='0' then
AColor :=$00000FF //设置红色
else //设置默认色
AColor :=-2147483633;
//------------------------------------------------------
break;//如果有相同的就返回,看下一个
end;
end;
end;
end;
b_flag:=false; //标志设置为假,即只有在点击交卷以后才再变颜色
end;
//帮我看看上面的代码对不呀, |