• Delphi XE2 之 FireMonkey 入门(24) 数据绑定: TBindingsList: TBindExpression.Direction



    在学习 BindingSource 属性时, 可以让两个控件互为绑定源; TBindExpression 对应的功能是 Direction 属性.

    先在窗体上添加 Edit1、Edit2、BindingsList1; 然后激活 Edit1、Edit2 和窗体的默认事件.

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with TBindExpression.Create(BindingsList1) do
      begin
        ControlComponent := Edit2;
        ControlExpression := 'Text';
        SourceComponent := Edit1;
        SourceExpression := 'Text';
    //    Direction := TExpressionDirection.dirSourceToControl; //默认
    //    Direction := TExpressionDirection.dirControlToSource; //反向
        Direction := TExpressionDirection.dirBidirectional;     //双向
        Active := True;
      end;
    end;
    
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
    
    procedure TForm1.Edit2Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
    


    如果没有 Direction 属性, 代码或许会是:

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with TBindExpression.Create(BindingsList1) do
      begin
        ControlComponent := Edit2;
        ControlExpression := 'Text';
        SourceComponent := Edit1;
        SourceExpression := 'Text';
        Active := True;
      end;
    
      with TBindExpression.Create(BindingsList1) do
      begin
        ControlComponent := Edit1;
        ControlExpression := 'Text';
        SourceComponent := Edit2;
        SourceExpression := 'Text';
        Active := True;
      end;
    end;
    
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
    
    procedure TForm1.Edit2Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
    

  • 相关阅读:
    Spark Steaming消费kafka数据条数变少问题
    intellij idea 搜索
    ZooKeeper shell
    linux 端口映射设置
    maxCompute odps 行转列
    dev stg prd 开发 测试 生产环境
    大数据之路
    MYSQL性能优化
    JavaScript学习笔记-setTimeout应用
    JavaScript学习笔记-函数
  • 原文地址:https://www.cnblogs.com/del/p/2197989.html
Copyright © 2020-2023  润新知