如何覆盖TClientDataSet的排序机制

iMa*_*ari 5 delphi indexing tclientdataset delphi-xe2

是否可以更改索引用于TClientDataSet排序记录的方式?阅读完这个问题后,我认为能够在客户端数据集中逻辑排序字符串字段会很好.但是我不知道如何在索引时覆盖客户端数据集的默认行为.有任何想法吗?

PS:我的CDS没有链接到任何提供商.我正在寻找一种方法来修改TClientDataSet(或实现机制的父级)本身的排序机制.

Uwe*_*abe 5

您不能覆盖ClientDataSet的排序机制 - 除非您重写Midas的相应部分.

为了实现正确的排序(无论采用何种逻辑方式),您可以引入一个新字段并以某种方式设置其值,以便使用标准机制排序,它们将提供所需的排序顺序.