void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
{
//点击DBGRID标题实现排序
String s;
if(ADOQuery1->Active)
{
if (DBGrid1->Tag==0) //顺序排列
{
ADOQuery1->Sort=Column->FieldName+" ASC";
s=Trim(Column->Title->Caption);
if(s.Pos("▽")>0||s.Pos("△")>0)
s=s.SubString(1,s.Length()-3);
Column->Title->Caption=s+" △";
Column->Font->Color = clBlack;
DBGrid1->Tag=1;
}
else //反序排列,改变字体颜色
{
ADOQuery1->Sort=Column->FieldName+" DESC";
s=Trim(Column->Title->Caption);
if(s.Pos("▽")>0||s.Pos("△")>0)
s=s.SubString(1,s.Length()-3);
Column->Title->Caption=s+" ▽";
Column->Font->Color=clGreen; //绿色
DBGrid1->Tag=0;
}
}
}
bcb中点击DBGrid标题进行排序
最新推荐文章于 2025-08-06 12:27:13 发布
本文介绍了一个使用Delphi实现的DBGrid标题点击排序功能的方法,并展示了如何通过更改标题图标来直观显示排序状态,同时调整字体颜色以区分当前排序方式。

474

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



