【问题标题】:showing a xml file contents in a dbctrlgrid在 dbctrlgrid 中显示 xml 文件内容
【发布时间】:2011-03-29 19:25:03
【问题描述】:

我有一个win应用项目,应该在delphi2010中完成。

应该生成如下图的形式:

www.up.iranblog.com/Files2/1e867ce0de784c469496.jpg

首先是产品图片,然后是名称和价格。

应该从xml文件中读取信息,但不知道如何在dbctrlgrid中显示信息?

请帮忙

提前感谢

【问题讨论】:

    标签: delphi delphi-7 xmlmapper


    【解决方案1】:

    对于DBCtrlGrid,它就像一个普通的面板控件。不同之处在于,它为数据集中的每条记录创建此面板。所以你应该把你的数据感知或普通控件放在你喜欢的面板中,你的面板将自动重复数据集中的每条记录,如果你面板上的控件是数据感知的,那么它们将接收到的数据每个对应记录的连接字段。您可以查看 Delphi 帮助中的 DBCtrlGrid 条目以获取更多信息。

    如果您想使用 DBCtrlGrid 来呈现您的 XML 数据,那么您应该首先将您的 XML 数据呈现为数据库记录。为此,您应该首先使用XML Mapper 工具创建一个XML 转换文件。之后,您可以使用XMLTransformProvider 控件,并将其连接到您的转换文件和您的XML 数据。 XMLTransformProvider 会使用提供的转换文件将您的 XML 数据转换为数据库记录。

    现在您可以将ClientDataset 连接到您的 XMLTransformProvider,您的 XML 数据将作为数据库记录在您的 ClientDataset 中可用。您可以将DataSource 连接到您的ClientDataset,并将您的DBCtrlGrid 连接到该数据源,这样您的DBCtrlGrid 控件就会显示ClientDataset 中可用的数据。

    所以数据流是这样的:

    XML 数据--(转换为数据库记录)--> 数据提供者--> 客户端数据集--> 数据源--> 数据感知控件(例如 DBCtrlGrid)。

    P.S. 从您提供的链接来看,您似乎位于伊朗。无法从位于伊朗的 IP 访问包含的链接,因此无法加载网页。您可以从 Delphi 安装的帮助文件中阅读相同的文档。只需将每个组件拖放到表单上,然后按 F1。

    【讨论】:

    • @Ken White,关于为什么在伊朗境内无法访问所提供的链接的信息不是咆哮! Embarcadero 没有向来自伊朗的访客提供任何有用的信息,告诉他们不允许他们访问在线文档。他们得到的只是一个浏览器错误,告诉他们无法访问指定的 URL。因此,让他们知道这不是他们自己的连接或 Internet 服务提供商的问题,而是 Embarcadero 的一项政策,这对他们很有用。
    • 我不认为有人在这样的网站上四处走动并编辑包含任何违反特定公司政策的帖子是一个好主意。这不是 Embarcadero 新闻组!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多