首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Developer Express中的QuantumGrid (TcxGrid)记录用户界面

使用Developer Express中的QuantumGrid (TcxGrid)记录用户界面
EN

Stack Overflow用户
提问于 2009-12-18 21:53:52
回答 4查看 2.7K关注 0票数 2

我需要生成一个用于输入销售文档(例如发票)的用户界面。我正在尝试使用"developer express“的组件,特别是QuantumGrid组件(TcxGrid)。我已经在devexpress支持中心看到了主-详细组件和搜索的演示,但没有一个对我有帮助,因为它们都使用2个网格来处理主-详细关系,并同时编辑多个记录。

我只需要一次编辑一条记录(文档),并在标题中使用一对对象数据感知组件(例如TDBEdit)和一个网格来处理细节。

像这样的东西

我在哪里可以找到以这种方式使用这些组件的基本示例?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-20 02:27:31

QuantumGrid中的主/子属性主要用于在网格中嵌套多个项目。如果您在数据组件中设置了关系,您只需将控件连接到正确的DataSource,一切都会正常工作。

因此,如果您有两个DataSets客户和发票。发票主数据源是客户DataSource。然后,在编辑控件上,指向Customer DataSource,并将网格指向发票DataSource。

如果您考虑主/详细关系所做的工作,它实际上只是过滤详细DataSet上的记录,以匹配主DataSet上的当前记录。单个编辑控件将始终在它们所连接的DataSet中显示“当前”记录。网格将显示它们所连接到的DataSet中的所有可见记录。

我倾向于不在编辑表单中使用Master/Detail关系,就像您在这里显示的那样。我假设在不同的屏幕上有一些方法可以选择要编辑的发票。我通常会创建一个所需DataSets的副本,其中只包含此编辑所需的记录。如果我正在编辑现有的发票,我会复制当前的记录。如果是新发票,我可以从一个空记录集开始。这是更多的工作-我有一些泛型库函数,它们将复制一个Dataset结构,然后将一个或多个记录复制到该数据集中。根据您的设置,您还可以重新查询您的数据库,以获得您感兴趣的记录。显然,不应该在所有情况下都这样做。这种方法的另一个问题是,您需要一种方法来更新使用此数据可能拥有的任何其他数据集-即主搜索屏幕。

然而,一旦我进入编辑屏幕,我发现它让事情变得更容易。现在我不需要担心顶层的主细节关系了。如果发票有内部主/详细关系,您可以只处理这些关系,但您知道DataSets只有这一张发票的数据-而不是数据库中的所有数据。

在您的表单中,如果您限制DataSets中的数据,那么您可以直接将所有内容连接起来,它应该会像您期望的那样工作。您在Customer DataSet中只有一条记录,而发票中只有该发票的记录。

票数 1
EN

Stack Overflow用户

发布于 2009-12-18 22:08:52

我认为您需要处理ClientDataSource组件中的主从关系。然后,网格将遵循这种关系。

票数 1
EN

Stack Overflow用户

发布于 2009-12-21 23:53:09

你为什么不在support@devexpress.com上问这个呢?

我订阅vcl的原因除了组件的质量之外,当然是因为他们确实有很好的支持站点和员工?

在那里,您可以直接向编写该程序的人询问,他们很可能很乐意为您提供示例程序(至少这些年来我已经收到了很多示例)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1928321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档