将 DBGrid 绑定到自定义组件
Bound DBGrid to Custom Component
我在 Delphi 10 西雅图制作了一个组件。
我的组件是一个面板,包含一个 TDBGrid(来自 TCustomDBGrid)和一个 TEdit
控制。
当我将组件放入窗体时,如果我不更改网格列,一切都很好。
但是当我更改有界 DBGrid 列时,运行 时间发生错误并显示消息:"Error reading TColumn.MyGrid.Expanded: Property MyGrid.Expanded dos not exist. ..."
对于发现的错误,我以文本形式打开表单并查看以下代码:
MyGrid.Columns = <
item
MyGrid.Expanded = False
MyGrid.FieldName = 'Sid'
MyGrid.Visible = True
end
item
MyGrid.Expanded = False
MyGrid.FieldName = 'UserName'
MyGrid.Visible = True
end>
FilterDataSource = DataSource1
因此,我的组件无法正常工作。
我编写了自己的组件,将 TDBGrid 嵌入到 TPanel 中,并编写了一个项目来测试它。当网格包含持久化的 TColumns 时,我尝试重新加载我的项目时遇到了与您相同的错误。
所以,我在这里发布了自己的问题
并从 Delphi MVP Uwe Raabe 那里得到了答复,基本上说原因是 TDBGridColumns 的 VCL 流代码中存在问题,并建议我向 EMBA 的质量门户提交问题报告。所以我不认为在 EMBA 解决这个问题之前可以做很多事情。
我在 Delphi 10 西雅图制作了一个组件。 我的组件是一个面板,包含一个 TDBGrid(来自 TCustomDBGrid)和一个 TEdit 控制。 当我将组件放入窗体时,如果我不更改网格列,一切都很好。 但是当我更改有界 DBGrid 列时,运行 时间发生错误并显示消息:"Error reading TColumn.MyGrid.Expanded: Property MyGrid.Expanded dos not exist. ..." 对于发现的错误,我以文本形式打开表单并查看以下代码:
MyGrid.Columns = <
item
MyGrid.Expanded = False
MyGrid.FieldName = 'Sid'
MyGrid.Visible = True
end
item
MyGrid.Expanded = False
MyGrid.FieldName = 'UserName'
MyGrid.Visible = True
end>
FilterDataSource = DataSource1
因此,我的组件无法正常工作。
我编写了自己的组件,将 TDBGrid 嵌入到 TPanel 中,并编写了一个项目来测试它。当网格包含持久化的 TColumns 时,我尝试重新加载我的项目时遇到了与您相同的错误。
所以,我在这里发布了自己的问题
并从 Delphi MVP Uwe Raabe 那里得到了答复,基本上说原因是 TDBGridColumns 的 VCL 流代码中存在问题,并建议我向 EMBA 的质量门户提交问题报告。所以我不认为在 EMBA 解决这个问题之前可以做很多事情。