关于Delphi的TDataset.OnFilterRecord和TDataset.Filtered的文档说明:
仅在从数据库中提取记录或Filtered属性设置为True时发生。 编写一个OnFilterRecord事件处理程序,为数据集中的每条记录指定它是否应该对应用程序可见。要指示记录通过过滤条件,OnFilterRecord事件处理程序必须将Accept参数设置为true。要排除记录,请将Accept参数设置为false。大多数TDataSet后代(例如ADO数据集)在调用OnFilterRecord事件处理程序之前将Accept初始化为true。
如果Filtered属性为true,则启用过滤。当应用程序正在处理过滤器时,数据集的State属性为dsFilter。
并不是说这个功能必须在TDataset后代中实现,所以我认为它适用于每个TDataset后代。我和Marco Cantu TMdDirDataset一起尝试过,但它没有用。
我错了吗? TDataset只提供属性但没有实现吗?