将数据表保存为用户设置

我目前尝试使用旧的“properties.settings.default.save()”方法将数据表保存为用户设置。

这是行不通的。 我的设置无法保存。 但是当我尝试将字符串保存为设置时它确实有效。

所以我真的很想知道为什么它不适用于数据表。 保存datatale会让我的事情变得更轻松,所以对此或任何替代解决方案的任何帮助都将非常感激!

您可以将DataTable作为XML字符串保存到普通的String设置,如下所示:

StringWriter writer = new StringWriter(); table.WriteXml(writer); Settings.Default.TableXml = writer.ToString(); 

然后,您可以从以下设置加载它:

  StringReader reader = new StringReader(Settings.Default.TableXml); table.ReadXml(reader); 

遗憾的是,上面的解决方案对我不起作用(得到了一个缺少根元素的例外)。 我不得不做出这个调整。

创建XML字符串:

  StringWriter writer = new StringWriter(); table.WriteXml(writer, XmlWriteMode.WriteSchema); //WriteSchema Settings.Default.TableXml = writer.ToString(); 

从Xml String创建DataTable

  StringReader reader = new StringReader(Settings.Default.TableXml); table.ReadXml(reader); 

希望这有助于其他用户遇到同样的问题;)