我想为我的组件添加两个属性:一个TDataSet和一个TField,这样当我设置TDataset属性时,我可以从DataField属性中的字段中选择。
我不知道如何建立DataField和DataSet属性之间的关系。
我该怎么做?
答案 0 :(得分:1)
如果您将组件更改为DataSource: TDataSource
属性而不是DataSet: TDataSet
属性,则Delphi的标准TDataFieldProperty
编辑器将自动为您填充DataField: string
属性。然后,您可以将所需的TDataSet
组件链接到TDataSource
组件。
如果您希望为未命名为string
的任何DataField
属性显示下拉列表,则可以通过TDataFieldProperty
为该属性手动注册RegisterPropertyEditor()
。
如果您希望拥有名称不是TDataSource
的{{1}}媒体资源,则可以从DataSource
派生并覆盖其虚拟TDataFieldProperty
方法。
如果您必须直接接受GetDataSourcePropName()
,则必须为TDataSet
媒体资源编写自定义媒体资源编辑器,并让其直接致电DataField
。