100分求问一个问题???

菜梗子 2004-06-21 03:39:50
我用的是DbgirdEH控件,再在单击其某个标题,则会按这个标题对应的字段进行排序,但我现在有一个这样的问题,当点中某标题时,可以进行排序,但是我如果这个时间把数据集重新查询一下的话,就会报 Index 'SortIndexEh' not found这个错误,现在有什么办法可以不会出现这样的问题呀!
...全文
141 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜梗子 2004-06-22
  • 打赏
  • 举报
回复
我单击实现排序的功能不是通过SQL实现的,而是先通过SQL语句查询出结果后,用户点击标题后,在本地(DBGRID)中进行排序!大家是否可以这样一试:一个DBGRID,一个数据源,一个clientDataSet,查询出结果后,点击相应的一个标题,进行排序后,(注意:只能点一次)再次进行查询操作。这时就会报错!
肥仔胧 2004-06-21
  • 打赏
  • 举报
回复
关注
linjie208 2004-06-21
  • 打赏
  • 举报
回复
我也用过,没碰到以上问题,应该是你代码有问题,贴出来看看
luckyboy97 2004-06-21
  • 打赏
  • 举报
回复
我用过,但是好象不存在你说的,问题,是不是你在写查找的时候出了问题
creativepeter 2004-06-21
  • 打赏
  • 举报
回复
首先我没有用过这个控件。不过我觉得基本的思路应该是这样的。
有一点需要你告知,你单击实现排序的功能是控件自带的还是用SQL语句实现的?
我想,当你排序的时候,把TClientDataSet对象的索引改变了(本身有默认索引),重新查询时,就发生了你所说的异常,因为重新查询后索引并没有改变回来。
更多的原因,你可以说清楚了,大家再讨论。
迭板神捕 2004-06-21
  • 打赏
  • 举报
回复
索引只有一个,你一起查询,你想让他怎么排列?。。
wywry 2004-06-21
  • 打赏
  • 举报
回复
你看你的dbgridEh支持哪种排序,如他支持AdoQuery,你要用Table肯定会出错!
菜梗子 2004-06-21
  • 打赏
  • 举报
回复
谢谢两位的关心,我用的也是clientDataset这个控件,
aiirii 2004-06-21
  • 打赏
  • 举报
回复
一般我是用ClientDataset配合 Dbgrid來排序, 自己的可控性高點!

>>但是我如果这个时间把数据集重新查询一下的话

DbgirdEH, 沒用過, 但如你 重新查询出錯, 那應該有個重新刷新綁定的方法調用吧
lijinghe1 2004-06-21
  • 打赏
  • 举报
回复
没用过这个控件,估计是排序是它建了一个索引,再次排序时它把该索引设为反序的,而重新查询之后索引不见的,所以出错了。

你可以判断一下索引建没建,对应字段是否当前字段

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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