将 Field 和 TDataset 添加到组件属性
Adding TField and TDataset to Component Propertis
我想向我的组件添加两个属性:一个 TDataSet 和一个 TField,这样当我设置 TDataset 属性 时,我可以 select 从它在 DataField 中的字段 属性.
我不知道如何建立 DataField 和 DataSet 属性之间的关系。
我该怎么做?
如果您将组件更改为 DataSource: TDataSource
属性 而不是 DataSet: TDataSet
属性,Delphi 的标准 TDataFieldProperty
编辑器会自动为您填充 DataField: string
属性。然后,您可以 link 您想要的 TDataSet
组件到 TDataSource
组件。
如果您希望下拉列表显示任何未命名为 DataField
的 string
属性,您可以为该 [=] 手动注册 TDataFieldProperty
37=] 通过 RegisterPropertyEditor()
.
如果你想要一个名字不是DataSource
的TDataSource
属性,你可以从TDataFieldProperty
派生并覆盖它的虚拟GetDataSourcePropName()
方法.
如果您必须直接接受 TDataSet
,则必须为您的 DataField
属性 编写自定义 属性 编辑器,并让它调用 TDataSet.GetFieldNames()
直接。
我想向我的组件添加两个属性:一个 TDataSet 和一个 TField,这样当我设置 TDataset 属性 时,我可以 select 从它在 DataField 中的字段 属性.
我不知道如何建立 DataField 和 DataSet 属性之间的关系。
我该怎么做?
如果您将组件更改为 DataSource: TDataSource
属性 而不是 DataSet: TDataSet
属性,Delphi 的标准 TDataFieldProperty
编辑器会自动为您填充 DataField: string
属性。然后,您可以 link 您想要的 TDataSet
组件到 TDataSource
组件。
如果您希望下拉列表显示任何未命名为 DataField
的 string
属性,您可以为该 [=] 手动注册 TDataFieldProperty
37=] 通过 RegisterPropertyEditor()
.
如果你想要一个名字不是DataSource
的TDataSource
属性,你可以从TDataFieldProperty
派生并覆盖它的虚拟GetDataSourcePropName()
方法.
如果您必须直接接受 TDataSet
,则必须为您的 DataField
属性 编写自定义 属性 编辑器,并让它调用 TDataSet.GetFieldNames()
直接。