【发布时间】:2017-06-27 03:39:47
【问题描述】:
我想反转 TClientDataSet 中索引的顺序,下面的代码看起来应该可以解决问题,但什么也没做。有没有很好的方法来反转索引的顺序?
procedure TForm8.Button1Click(Sender: TObject);
var
index: TIndexDef;
begin
index := ClientDataSet1.IndexDefs.Find('LengthIndex');
if ixDescending in index.Options then
index.Options := index.Options - [ixDescending]
else
index.Options := index.Options + [ixDescending];
end;
【问题讨论】:
-
为什么不删除索引并重新创建呢?应该没有更快的方法来做到这一点,因为(CMIIW)如果有一种方法可以非常快速地反转索引,那么就没有理由区分升序和降序索引 - 数据库引擎可以即时排序然后(基于查询)。
-
也许你会看看 edn.embarcadero.com/article/29056 不仅有关于 CDS 索引的长篇解释,还有一些适合你需要的代码 - 我想是的 :o)
标签: delphi indexing tclientdataset