我正在使用Delphi XE2编写VCL win32应用程序。 德尔福XE2支持实时绑定。 我将示例 Biolife.xml 加载到 TClientDataSet 实例中。
我能够将 TEdit 控件绑定到数据集的字符串字段: 物种名称:
object BindLinkEdit11: TBindLink
Category = 'Links'
SourceMemberName = 'Species Name'
ControlComponent = Edit1
SourceComponent = BindScopeDB1
ParseExpressions = <>
FormatExpressions = <
item
ControlExpression = 'Text'
SourceExpression = 'DisplayText'
end>
ClearExpressions = <>
end
然后,我尝试将图形字段绑定到图形控件:
object BindLinkImage11: TBindLink
Category = 'Links'
SourceMemberName = 'Graphic'
ControlComponent = Image1
SourceComponent = BindScopeDB1
ParseExpressions = <>
FormatExpressions = <
item
ControlExpression = 'Picture'
SourceExpression = 'Value'
end>
ClearExpressions = <>
end
显然,它不起作用。 这可能吗?
看看BindLinkVCLProject
演示项目。还显示了图像的绑定,所以我的猜测是您需要这样做(SourceExpression
中的Self
表示一个 blob 字段):
object BindLinkImageHandler: TBindLink
Category = 'Links'
SourceMemberName = 'Graphic'
ControlComponent = Image1
SourceComponent = BindScopeDB1
ParseExpressions = <
item
ControlExpression = 'Picture'
SourceExpression = 'Self'
end>
FormatExpressions = <
item
ControlExpression = 'Picture'
SourceExpression = 'Self'
end>
ClearExpressions = <
item
ControlExpression = 'Picture'
SourceExpression = 'nil'
end>
end