使用ADOTable组件如何排序呀?如何在DBgrid组件中加一个序号列?

zyxwh 2003-06-28 10:53:11
使用ADOTable组件如何排序呀?
没有建立索引的情况下行吗?
如何在DBgrid组件中加一个计算字段,顺序显示序号,但不是表里的ID字段。
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
真如实观 2003-06-28
  • 打赏
  • 举报
回复
BCB(天下三分明月夜,二分无赖是扬州)是对的,我试过,真的很好!
BCB 2003-06-28
  • 打赏
  • 举报
回复
在任一字段的OnGetText( )事件中
void __fastcall TDataModule1::ADODataSet1XHGetText(TField *Sender,
AnsiString &Text, bool DisplayText)
{
int r=Sender->DataSet->RecNo;
Text=(r==-1)?String(""):String(r);
}
Libran 2003-06-28
  • 打赏
  • 举报
回复
ADOTable->Sort 里的排序条件,写法类似于SQL语句的Order by
例如,按照字段F1的倒序排序:
ADOTable->Sort = "F1 DESC";
yhec 2003-06-28
  • 打赏
  • 举报
回复
在任一字段的OnGetText( )事件中
Libran 2003-06-28
  • 打赏
  • 举报
回复
1,在ADOTable的IndexFieldNames里指定排序的字段名(仅限升序)
或者ADOTable->Sort = "排序条件";

2,先在数据集(如ADOTable)中创建一个Integer类型的计算字段,再在OnCalcFields事件里赋值:
void __fastcall TForm1::ADOTable1CalcFields(TDataSet *DataSet)
{
DataSet->FieldByName("id")->AsInteger = DataSet->RecNo;
}
Libran 2003-06-28
  • 打赏
  • 举报
回复
可以
zyxwh 2003-06-28
  • 打赏
  • 举报
回复
ADOTable->Sort = "F1 DESC";
那这样排序没有建立索引也能排序吗?

1,178

社区成员

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

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