【问题标题】:delphi 2010 datasnap return treeview from serverdelphi 2010 datasnap从服务器返回树视图
【发布时间】:2010-06-22 08:16:44
【问题描述】:

是否可以在 Delphi Datasnap 2010 中将树视图从 Datasnap 2010 服务器传输到 DataSnap 客户端?

谢谢

【问题讨论】:

  • 请解释“传输树视图”。

标签: delphi delphi-2010 datasnap


【解决方案1】:

您也许可以将一些东西拼凑在一起,在服务器上创建和填充 VCL 控件并将该控件序列化到客户端,但这看起来很丑。

我会让它返回代表树的数据,并使用它来填充客户端的树视图。

NodeId  NodeName  ParentId
0       Root      -1
1       Node1     0
2       Node2     0
3       Node3     0
4       Node1.1   1

【讨论】:

    【解决方案2】:

    通常的做法不是将 GUI 元素从服务器传输到客户端,而是仅传输数据(例如,作为“数据传输对象”,DTO),这些数据可以使用 @ 等开源库轻松(反)序列化987654321@、NativeXMLSuperObject

    表示层可以通过这种方式轻松更改(想想 HTML 或移动客户端)。

    DTO 的定义可以在Martin Fowler's 网站上找到。

    【讨论】:

      【解决方案3】:

      DataSnap 可以使用 JSON 序列化对象。我建议您创建一个树结构,在其中存储节点,然后相应地填充您的树视图。

      不,您不能序列化 VCL TTreeView。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多