打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Delphi XE2 之 FireMonkey 入门(29)

TBindingsList 中可能不止一个表达式, 通过表达式的 Evaluate 方法可单独提交绑定, 并可在 Active = False 时提交.
在 TBindExprItems 中对应的方法是 EvaluateFormat.

测试设想: Label1、Label2 的绑定源同是 Edit1, 分别提交绑定.

1、在窗体上加控件: Label1、Label2、Edit1、BindingsList1;
2、激活 Edit1 的 OnKeyUp、OnChange 事件, 还有窗体的默认事件.

unit Unit1;interfaceuses  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,  FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Edit, Data.Bind.EngExt,  FMX.Bind.DBEngExt, Data.Bind.Components;type  TForm1 = class(TForm)    Label1: TLabel;    Label2: TLabel;    Edit1: TEdit;    BindingsList1: TBindingsList;    procedure FormCreate(Sender: TObject);    procedure Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);    procedure Edit1Change(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.fmx}var  bindExpression1, bindExpression2: TBindExpression;procedure TForm1.FormCreate(Sender: TObject);begin  bindExpression1 := TBindExpression.Create(BindingsList1);  bindExpression2 := TBindExpression.Create(BindingsList1);  with bindExpression1 do  begin    ControlComponent := Label1;    ControlExpression := 'Text';    SourceComponent := Edit1;    SourceExpression := 'Text';    // Active := True;  endwith bindExpression2 do  begin    ControlComponent := Label2;    ControlExpression := 'Text';    SourceComponent := Edit1;    SourceExpression := 'UpperCase(Text)';    // Active := True;  end;end;procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);begin  bindExpression1.Evaluate;end;procedure TForm1.Edit1Change(Sender: TObject);begin  bindExpression2.Evaluate;end;end.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
FDMemTable的详细使用方法
创建异形窗口[5]
Delphi 自定义窗体(最大化、最小化、关闭、窗体的移动)
DELPHI 动态 创建和释放 多个 EDIT 控件
Delphi窗口随机类名
限制鼠标范围
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服