1

Delphi 的 TDataset.OnFilterRecord 和 TDataset.Filtered 的文档说明:

仅在从 DB 中获取记录或 Filtered 属性设置为 True 时发生。编写一个 OnFilterRecord 事件处理程序来为数据集中的每条记录指定它是否应该对应用程序可见。要指示一条记录通过了筛选条件,OnFilterRecord 事件处理程序必须将 Accept 参数设置为 true。要排除记录,请将 Accept 参数设置为 false。大多数 TDataSet 后代(例如 ADO 数据集)在调用 OnFilterRecord 事件处理程序之前将 Accept 初始化为 true。

如果 Filtered 属性为 true,则启用过滤。当应用程序处理过滤器时,数据集的 State 属性是 dsFilter。

它并不是说这个功能必须在 TDataset 后代中实现,所以我假设它适用于每个 TDataset 后代。我用 Marco Cantu 的TMdDirDataset进行了尝试,但它不起作用。

我假设错了吗?TDataset 是否只提供属性但不提供实现?

4

0 回答 0