我正在尝试在 Delphi 中创建一个在运行时不是 ReadOnly 的附加字段。我有一个带有 SQL 的 TADOQuery
SELECT *,CAST(0 AS BIT) AS CheckField FROM MyTable WHERE KeyField = :KeyValue
这通过 TDatasetProvider 链接到 TClientDatset。
我的问题是 TClientDataset 中的结果字段最终为只读。TClientDataset 在设计时创建以链接到网格等。其他组件在运行时在单独的对象中创建。
我有一个类似的设置工作,但一切都是在设计时创建的。我通过在 TADOQuery 组件上创建持久字段并在打开 TClientDatset 之前将 CheckField 的 ReadOnly 属性设置为 False 来解决此问题。我不确定如何在运行时执行此操作,因为在我打开 ClientDatset 之前字段组件不存在,到那时设置它的只读属性为时已晚!