0

我有 2 个组合框链接到在类型和子类型表中查找值的表。当用户选择第一个时,我需要在第二个中过滤数据。

示例数据:

表
类型子类型
车辆 车
车辆卡车
车辆四轮车
V型船体
船用平底

在实时绑定之前,您可以在第二个弹出事件之前或第一个组合框的关闭或更改事件上过滤和刷新第二个数据查找(子类型)。当我使用实时绑定尝试此操作时,它没有效果。我也尝试使用该Bindlist.Notify方法但没有成功。

4

2 回答 2

1

我在主表和子类型表之间设置了主从关系。选择类型后,它会在主表上设置值并过滤子类型。我切换了 LinkFillControlToField 上的 Active 属性,它刷新了列表。

procedure TframeEquipmentEdit.cbbSubtypeClassEnter(Sender: TObject);
var i : integer;
begin
LinkFillControlToField10.Active := False;
LinkFillControlToField10.Active := True;
end;

感谢您的意见和帮助

韦德

于 2014-10-03T20:24:55.127 回答
0

这是我今天正在做的一个项目的片段。对于“字母”读取“类型”,对于“模板”读取“子类型”

procedure TdlgNewTemplate.LetterTypesComboChange(Sender: TObject);
begin
  FTemplatesDs.Filter := Format('TYPE=%d',[LetterType()]);
  FTemplatesDs.Filtered := True;
  PopulateTemplatePaths();
end;

这不是一个活绑定的例子。使用 Livebindings,我猜不需要调用 PopulateTemplatePaths,但它所做的只是清除子类型组合框并重新填充。(我认为,就像上面 Rufo 爵士建议的那样)。

于 2014-10-03T10:08:36.150 回答