【发布时间】:2013-11-28 12:26:55
【问题描述】:
我有一个 FireMonkey Mobile 应用程序,我在实际表单上使用了 TSQlConnection 和 TSQLDataset。数据集填充 TComboBox 没有问题,但后来我决定将所有数据库代码等放入 DataModule。
移动 TSqlConnection 和数据源并添加 Datamodul。检查以确保一切正常并且没有问题地打开。然后我从表单中删除原始组件并完全删除绑定。重做绑定,以便它们使用数据模块中的数据。构建应用程序并选择正确的形式...组合框中没有任何内容。
数据集的开放等附加事件,它们都是开放的并且没问题。甚至会在绑定上触发 FilledList 事件...那么为什么它们以前没有出现呢?
组合框代码
object itemModel: TListBoxItem [1]
Height = 44.000000000000000000
Position.Y = 44.000000000000000000
StyleLookup = 'listboxitemnodetail'
Width = 384.000000000000000000
object cboModel: TComboBox
Align = alClient
DisableFocusEffect = False
Height = 32.000000000000000000
TabOrder = 0
Width = 384.000000000000000000
end
end
数据源代码
object BindSourceDB2: TBindSourceDB
DataSet = dmdLocal.dsModels
ScopeMappings = <>
Left = 176
Top = 272
end
链接填充代码
object LinkFillControlToField2: TLinkFillControlToField
Category = 'Quick Bindings'
Control = cboModel
Track = True
FillDataSource = BindSourceDB2
FillDisplayFieldName = 'MODEL'
AutoFill = True
BufferCount = -1
AutoBufferCount = False
FillExpressions = <>
FillHeaderExpressions = <>
FillBreakGroups = <>
end
编辑添加代码
【问题讨论】:
-
数据模块是在表单实例化之前创建的吗?如果是这样,该实例是否已分配给 dmdLocal(我猜是数据模块中的全局变量)?
-
那行得通...如果您想将您的回答作为答案,我会将其标记为正确答案...谢谢
标签: delphi livebindings