这一直困扰着我做以下事情的最好方法是什么……
使用简单的一对多数据库,当你在一个表单上有两个表格/网格,第二个按第一个过滤时。
哪里是放置过滤器代码的最佳位置?
即:
procedure TForm1.tblCustormersAfterScroll(DataSet: TDataSet);
begin
if tblCustormersCustormerID.AsString <> '' then
begin
tblCustormersThings.Filter := 'CustormerID = ' + tblCustormersCustormerID.AsString;
tblCustormersThings.Filtered := true;
end;
end;AfterScroll似乎在大多数情况下都是有效的,但不要在某些事件上被解雇,比如在发帖之后。通常情况下,我会有一个过程来做过滤器更新,并将其放在任何需要它的地方。
但我想知道是否有更好的方法,这似乎是delphi应该知道的简单的东西……
我认为这无关紧要,但我使用的是Delphi7和NexusDB1
发布于 2009-01-21 00:01:29
您应该在“多”端设置、MasterSource、和master字段属性。
这就是所谓的主详细关系,您应该查看NexusDB帮助,以获得创建表格之间这种关系的方法。
如果您的表支持索引,则可以在CustomerID上创建索引,也可以使用SetRange()方法。
设置过滤器的方式是最慢的。
https://stackoverflow.com/questions/463583
复制相似问题