我是德尔福的新手,我需要一个建议。
我正在使用 TMS TDBAdvGrid,当用户单击列的标题时,我需要对数据进行排序。我设置了网格的排序设置并为 onclicksort 事件编写代码,但它不起作用。
网格的排序设置:
SortSettings.Show = True;
SortSettings.IgnoreBlanks = True;
SortSettings.BlankPos = blLast;
onclicksort 事件:
try
try
if FSortISWorking then
Exit;
FSortISWorking := true;
if ACol < 0 then
begin
grid.BeginUpdate;
grid.SortSettings.Column := ACol;
Application.ProcessMessages;
grid.QSort;
grid.EndUpdate;
end;
except on e: Exception do
begin
// log the error
end;
end;
finally
FSortISWorking := false;
end;
网格不直接链接到数据库。数据被加载到内存中(TClientDataSet),我只需要在内存中对数据进行排序,而不需要对数据库进行其他查询。
谢谢