gpt4 book ai didi

c# - DataGridView 中显示的来自 XML 的数据集

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:00 24 4
gpt4 key购买 nike

我一直在寻找这个问题的答案:我有一个格式如下的 XML 文件:

<root>
<string id = "STRING_ID">
<node1> Some data </node1>
<node2>
<type>data</type>
</node2>
<Translations>
<language name="ARABIC">
<value>Some data</value>
<date_last_changed>7-4-2011</date_last_changed>
</language>
<language name="CHINESE">
...
...
</Translations>
</string>

<string id = "...">
...
...
</root>

我用 XML 文件中的信息加载了一个数据集。然后我通过

将 DataSet 绑定(bind)到 DataGridView
DataGridView1.DataSource = dataSet1;

然后使用

DataGridView1.DataMember = "string";

目前datagridview显示的是节点1中的内容,以及每个string元素的id属性的值。

我的问题是:如何使用所有 <value> 中包含的数据填充列<language> 的元素在每个<string>其语言名称 = "ENGLISH""ARABIC"等等?对我来说听起来像是一个查询,但我不确定该怎么做。

基本上,我希望一列始终显示与我的 datagridview 中相应字符串 ID 相对应的每个英文字符串,然后再一列显示我使用 ComboBox 中的列表选择的语言的每个字符串。

最佳答案

如果您使用的是 Windows 窗体应用程序,您应该做接下来的事情:

  1. 将已定义表的 DataGridView 从 DataSource 拖放到 Form 上。这样 BindingNavigator 和 BindingSource 是自动定义的。
  2. 然后您可以通过单击箭头(查看窗体)来编辑 DataGridView,这将打开 DataGridView 任务。您可以在此处编辑和添加列以及执行许多其他操作(预览数据等)。

如果 DataGridView 未向您显示适当的列,则检查 DataGridView 属性下,DataSource 当前绑定(bind)到哪个。如果您想操作列,则必须正确定义它。

这里是数据源的一个例子,然后可以将其拖放到 Windows 窗体应用程序上。如您所见,可以将属性作为各种控件删除。在您的示例中,您应该将语言设置为 ComboBox。在此示例中,您可以看到表 Model 下的属性 Oznaka 定义为 ComboBox:
Example of properly defined DataSet.

最后,这完全取决于数据集是如何从 XML 构造的(您可以使用哪些属性)。因此,如果您没有为您的问题定义正确的属性,那么您应该返回并设计适当的数据集。

关于c# - DataGridView 中显示的来自 XML 的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com