procedure TfrmMain.DBGridEhTitleClick(Column: TColumnEh);
var i : integer;
begin
for i:= 1 to DBGridEh.Columns.Count do
begin
//恢复所有标题字体为默认
DBGridEh.Columns[i-1].Title.Font.Color := clWindowText;
DBGridEh.Columns[i-1].Title.Font.Style := [];
end;
if Query.Sort<>(Column.FieldName+' ASC') then //判断原排序方式
begin
Query.Sort := Column.FieldName+' ASC';
Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序
Column.Title.Font.Style := [fsBold];
end
else begin
Query.Sort := Column.FieldName+' DESC';
Column.Title.Font.Color := clBlue; //改变标题行字体为红色,表示当前的排序方式为降序
Column.Title.Font.Style := [fsBold];
end;
end;
转载于:https://www.cnblogs.com/zyb2016/p/6077480.html
本文介绍了一种在 Delphi 中使用 DBGridEh 控件实现动态排序的方法,并通过更改标题栏字体颜色和样式来直观展示当前排序状态。具体实现了当点击标题时,可以切换字段的升序或降序排列,并更新视觉反馈。
4588

被折叠的 条评论
为什么被折叠?



