将数据表保存为用户设置
我目前尝试使用旧的“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);
希望这有助于其他用户遇到同样的问题;)