上一篇咱们演示了如何绑定一个对象, 这是十分有用的, 不爽的的是在设计期间不能晓得对象有几个属性 (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;
; “ 复制代码 ”)