【问题标题】:Livebindings with contained objects包含对象的实时绑定
【发布时间】:2015-07-16 12:13:58
【问题描述】:

我需要用 TEdit 绑定一个非可视对象。

TCountry = class
  FName: string;
  ...
end;

TCity = class
  FName: string;
  FCountry: TCountry;
  ...
end;

我将实时绑定与 TDataGeneratorAdapter 和 TAdapterBindSource 一起使用,但我不知道如何访问:livebindings 中的 city.country.name 以在 TEdit 中显示。

我的问题是如何在 livebindings 中绑定(或访问)city.country.name。我知道在 TEdit 中绑定 city.name 因为 city.name 是一个字符串,但是 city.country.name 我没有工作。 ***对不起我的英语:)

【问题讨论】:

  • Delphi 的哪个版本?
  • 我使用的是 Delphi XE8
  • 对不起,我没有用过 XE8。我是用 XE2 做的,但也许是一样的。请看下面的解决方案。

标签: delphi object livebindings


【解决方案1】:

这在 Delphi XE2 中有效。我认为它应该在 XE8 中工作。

右键单击 TDataGeneratorAdaptor 组件。

虽然他们没有说清楚,但您在这里所做的是模仿数据库,并以您的班级作为记录。它无法读取您的类(因为它只存在于运行时,而且我们在此处处于设计模式),因此您必须显式添加您的字段以模仿 TCity 类。因此,您将选择添加字段并输入名称为 FName,然后选择 ftString 类型的字段数据(无)。

国家有问题。如果可以的话,你真的需要合并这些类。否则,您将需要为 TCountry 创建一个单独的 TDataGeneratorAdaptor,记住您实际上是在生成相当于内存数据库的内容。

值得查看数据库示例并从这些方面考虑您的对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    相关资源
    最近更新 更多