Delphi LiveBindings如何绑定一个对象(二)(转)

 上一篇我们演示了如何绑定一个对象,这是非常有用的, 不爽的的是在设计期间不能知道对象有几个属性(FisrtName, LastName, Age在设计期间都看不见),

为了解决这个问题我们使用TDataGeneratorAdapter控件

 

一、拖入一个TDataGeneratorAdapter控件并点击Add Field

二、设计完成后连接StringGrid与TDataGeneratorAdapter绑定

 

到些设计已经完成,但我们仍然配置OnCreateAdapter事件 我们在DataGeneratorAdapter创建的字段匹配TPerson类 如果我们运行程序会通过 DataGeneratorAdapter通过TObjectBindSourceAdapter 替换成 AdapterBindSource,

如果我们不需要这个事件, AdapterBindSource会使用DataGeneratorAdapter也可以运行

 

 

 

 NOTE:

   1.DataGeneratorAdapter类似DataSet 可以编辑、提交、保存

         2.当需要一个DataSet时可以使用DataGeneratorAdapter 

 

MyPeople : TObjectList<TPerson>;
procedure TForm1.AdapterBindSource1CreateAdapter(Sender: TObject;
  var ABindSourceAdapter: TBindSourceAdapter);
begin
    MyPeople := TObjectList<TPerson>.Create();
    MyPeople.Add(TPerson.Create('Fred', 'Flintstone', 40));
    MyPeople.Add(TPerson.Create('Wilma', 'Flintstone', 41));
    MyPeople.Add(TPerson.Create('Barney', 'Rubble', 40));
    MyPeople.Add(TPerson.Create('Betty', 'Rubble', 39));

    ABindSourceAdapter := TListBindSourceAdapter<TPerson>.Create(Self, MyPeople, True);
end;

 

 

posted @ 2013-04-23 20:04  TryHard  阅读(2202)  评论(0编辑  收藏  举报