如何在 TDBComboBox 中显示与数据库中不同的值?

How do I display a different value in a TDBComboBox than what is in the database?

我的表单上有一个 TDBComboBox。现在它连接到一个只能包含 YN.

的数据库字段

我想稍微修饰一下,让它显示 YesNo。我该怎么做?

我的解决方案是:

  1. 将控件 (YesNoCombo) 切换为 TDBLookupCombobox
  2. 在设计视图的窗体上,创建一个包含两个字段的 TClientDataSet(称为 YesNoCDS)
    • 显示值
    • 数据库值
  3. 右键单击 YesNoCDS 和 select Create Dataset
  4. FormShow 事件中为 YesNoCDS 追加数据(这看起来有点乱七八糟,但我在“设计”视图中看不到这样做的方法)
  5. 在名为 YesNoDS 的表单上创建一个 TDataSource,并将其 DataSet 设置为 YesNoCDS
  6. 在 YesNoCombo 上,将 ListSource 设置为 YesNoDS,然后将 List Field 设置为 DisplayValue,将 KeyField 设置为 DatabaseValue