DBGrid点击列的Title对DBGrid进行排序的问题

areasd 2003-02-21 05:02:07
我要在DBGrid点击某列的Title对DBGrid进行排序,如点“地址”则按“地址”排序,点“日期”则按“日期”排序等。我用OnTitleClick(),但如何知道点击了那列?
...全文
58 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
areasd 2003-02-24
  • 打赏
  • 举报
回复
ksrsoft(ksrsoft) 的方法中,我用
sql="select * from t1 order by ";
sql=sql+sql+Column->FieldName//而不是sql=sql+Column->Field->Name
所以ksrsoft(ksrsoft) 的方法最简单,给40分。Kin_CIOM() 给20分。
就可以了,谢了各位。
WhyAndAnswer 2003-02-24
  • 打赏
  • 举报
回复
BDE下用ksrsoft(ksrsoft) 的方法
ADO下用GQDataSet->Sort
ayingaying 2003-02-24
  • 打赏
  • 举报
回复
//我告诉你,给分吗?
void __fastcall TGQForm::DBGridEh1TitleClick(TColumnEh *Column)
{
for(int i=0;i<DBGridEh1->FieldCount;i++)
{
if(DBGridEh1->Columns->Items[i]->Title->SortMarker==smDownEh)
{
dm->GQDataSet->Sort=DBGridEh1->Columns->Items[i]->FieldName+" ASC";
}
if(DBGridEh1->Columns->Items[i]->Title->SortMarker==smUpEh)
{
dm->GQDataSet->Sort=DBGridEh1->Columns->Items[i]->FieldName+" DESC";
}
}
}
dxgxk 2003-02-22
  • 打赏
  • 举报
回复
to:he_Fly(裸奔中的思考者)

DBGRIDEH是怎么样实现的??
Kin_CIOM 2003-02-22
  • 打赏
  • 举报
回复
void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
{
myQuery->Sort = Column->FieldName + " ASC";
// myQuery->Sort = Column->FieldName + " DESC";

}

bittcn 2003-02-22
  • 打赏
  • 举报
回复
ClientDataSet1->IndexFieldNames = "FieldsName";
he_Fly 2003-02-21
  • 打赏
  • 举报
回复
可以DBGRIDEH来实现,楼上的方法也不错...
缘中人 2003-02-21
  • 打赏
  • 举报
回复
从它的参数可以知道。
void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
sql="select * from t1 order by ";
sql+=Column->Field->Name;

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧