【问题标题】:Load XML into grid view将 XML 加载到网格视图中
【发布时间】:2013-10-18 09:35:41
【问题描述】:

是否可以将 xml 文件的内容与 c# 中的数据网格视图绑定?也许使用... LINQ?我可以这样做吗?我想在网格视图中显示 xml 文件的内容,在那里编辑、添加或删除它们,然后将它们保存在我首先加载的 xml 文件中。我还希望能够搜索网格并编辑多个项目。我正在创建一个表单应用程序。 xml文件很简单而已:

<people> 
    <person name='John' email='John@email.com'/>
</people>

可能有很多人类型的记录。 解决这个问题的最佳方法是什么?

【问题讨论】:

  • 我想在 Winforms 中开发 GUI

标签: c# .net xml linq


【解决方案1】:

MSDN 在这里http://msdn.microsoft.com/en-us/magazine/cc163669.aspx 推荐的最简单的方法是将其加载到数据集中。

在 DevX 上有一整套 Vb.Net 代码和一个教程,可以帮助您通过数据集将 DataGridView 绑定到 XML。 http://www.devx.com/dotnet/Article/28678/1954

希望这会有所帮助。它在 Vb.Net 中,但你会明白的。

【讨论】:

    【解决方案2】:

    假设您已将 xml 加载到“doc”XDocument 中

    var persons = from item in doc.Descendants("person")
                  select new
                  {
                      Name = item.Element("name").Value,
                      Mail = item.Element("email").Value
                  };
    
    myDataboundControl.DataSource = persons;
    myDataboundControl.Databind();
    

    【讨论】:

    • 但这不会将编辑保存在 xml 文件中。我该怎么做?
    【解决方案3】:

    首先您必须获取 XML 文件的路径。然后创建一个新数据集,然后根据需要将数据集与数据网格视图绑定。您也可以使用 SQL 查询来更新、删除 XML 文件。

    { 
         Data Set dd = new Data Set();
        dd.ReadXml ("XML Path");
         DataTable xm = ds.Tables[0];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多