Delphi Datasnap 2010 中是否可以将树视图从 Datasnap 2010 服务器传输到 DataSnap 客户端?
谢谢
您也许可以将一些东西组合在一起,在服务器上创建和填充 VCL 控件并将控件序列化到客户端,但这看起来很难看。
我会让它返回代表树的数据,并使用它来填充客户端的树视图。
NodeId NodeName ParentId
0 Root -1
1 Node1 0
2 Node2 0
3 Node3 0
4 Node1.1 1
不是将 GUI 元素从服务器传输到客户端,而是仅传输数据(例如,作为“数据传输对象”,DTO)的一种常见做法,这些数据可以使用开源库(如OmniXML、NativeXML或超对象。
表示层可以通过这种方式轻松更改(想想 HTML 或移动客户端)。
DTO 的定义可以在Martin Fowler 的网站上找到。
DataSnap 可以使用 JSON 序列化对象。我建议您创建一个树结构,在其中存储节点,然后相应地填充您的树视图。
不,您不能序列化 VCL TTreeView。