首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于dbgrid排序的有关问题

2012-02-29 
关于dbgrid排序的问题如何对dbgrid按照title进行排序,不要那种简单的,要点击任何一列都可以排序,让adoquer

关于dbgrid排序的问题
如何对dbgrid按照title进行排序,不要那种简单的,要点击任何一列都可以排序,让adoquery进行排序有可以.
原来记得“老妖”有个很经典的代码,但是在电脑上找不到了

[解决办法]
自用极品代码:

添加定义:

C/C++ code
    TField *FSortField;    void __fastcall SetSortField(TField *Value);    __property TField *SortField = {read=FSortField,write=SetSortField};
[解决办法]
DBGrid1TitleClick事件中写

 TADOQuery* temp=(TADOQuery*)DBGrid2->DataSource->DataSet;
//temp=NULL;
if(flag==1)//当前是升序
{
temp->Sort=Column->FieldName+" DESC";
flag=0;
}
else if(flag==0)//当前是降序
{
temp->Sort=Column->FieldName+" ASC";
flag=1;
}

这样就可以了。
DBgridEh->字段的TitleButton为true并且DBgridEh->optionEh的dghAutoSortMarking为true时,在title上会出现排序三角形。
void __fastcall TForm1::DBGridEh1TitleClick(TColumnEh *Column)
{
 这里写排序代码;
}

热点排行