Delphi XE2 之 FireMonkey 入门(27) - 数据绑定: TBindingsList: TBindScope 如果在编写表达式时, 如果能够随意指认需要的控件就好了(通过 Owner 也可以勉强做到), TBindScope 就是解决这个问题的. 示例设想: 把三个 TEdit 的 Text 绑定到一个 TLabel. 在窗体上添加 Label1.Edit1.Edit2.Edit3.BindingsList1.BindScope1; 激活 Edit1 和窗体的默认事件. un…
Delphi XE2 之 FireMonkey 入门(32) - 数据绑定: TBindingsList: TBindList.TBindPosition [未完成...] //待补...…
Delphi XE2 之 FireMonkey 入门(30) - 数据绑定: TBindingsList: TBindExpression 的 OnAssigningValue 事件 表达式中的函数有限, 譬如我想通过绑定输出文本的长度(譬如在 Label1 中绑定输出 Edit1.Text 的长度)就没有相应的函数; 这可在 TBindExpression 的 OnAssigningValue 事件中处理. TBindExpression 和它的兄弟们 (TBindExprItems.TBin…
Delphi XE2 之 FireMonkey 入门(29) - 数据绑定: TBindingsList: 表达式的 Evaluate() 方法 TBindingsList 中可能不止一个表达式, 通过表达式的 Evaluate 方法可单独提交绑定, 并可在 Active = False 时提交.在 TBindExprItems 中对应的方法是 EvaluateFormat. 测试设想: Label1.Label2 的绑定源同是 Edit1, 分别提交绑定. 1.在窗体上加控件: Label1.…
Delphi XE2 之 FireMonkey 入门(28) - 数据绑定: TBindingsList: 表达式函数测试: SelectedText().CheckedState() 示例构想: 用 Label1 显示 ListBox1 的选项, 用 Label2 显示 CheckBox1 的状态. 1.放控件: Label1.Label2.ListBox1.CheckBox1.BindingsList1.BindScope1;2.激活 ListBox1 的 OnClick 事件和窗体的默认事…
Delphi XE2 之 FireMonkey 入门(26) - 数据绑定: TBindingsList: TBindExprItems 如果要给一对 "源控件" 和 "目标控件" 写多个表达式, 使用 TBindExpression 就不如 TBindExprItems 了. TBindExprItems 中的表达式又分两组: FormatExpressions.ClearExpressions, 后者是在断开绑定时的表达式. 示例设想:1.TrackBar1 为…
Delphi XE2 之 FireMonkey 入门(25) - 数据绑定: TBindingsList: 表达式的灵活性及表达式函数 绑定表达式中可以有简单的运算和字符串连接, 但字符串需放在双引号中.还可以使用 TBindingsList.Methods 提供的一组表达式函数(分别来自 System.Bindings.Methods 和 Data.Bind.EngExt 单元): ToStr() ToVariant() Round() Format() UpperCase() LowerCa…
准备用 TBindingsList 重做上一个例子. 可以先把 TBindingsList 理解为是一组绑定表达式(TBindExpression)的集合;官方应该是提倡在设计时完成 TBindExpression 的建立与参数设置, 但我觉得看运行时的代码会更容易理解. 1.先在窗体上添加 TrackBar1.Edit1.Label1.BindingsList1;2.激活窗体和 TrackBar1 的默认事件;3.然后将通过代码把 TrackBar1.Value 分别绑定到 Edit1.Tex…
在学习 BindingSource 属性时, 可以让两个控件互为绑定源; TBindExpression 对应的功能是 Direction 属性. 先在窗体上添加 Edit1.Edit2.BindingsList1; 然后激活 Edit1.Edit2 和窗体的默认事件. procedure TForm1.FormCreate(Sender: TObject); begin   with TBindExpression.Create(BindingsList1) do   begin     Co…
Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库 一.全设计时操作: 先在窗体上放置控件: DataSource1    : TDataSource; ClientDataSet1 : TClientDataSet; Label1        : TLabel; Edit1          : TEdit; Memo1          : TMemo; ImageControl1  : TImageControl; BindNavigator1 :…