我正在将我的datatable保存到一个XML文件:
以下是选中所有框时的值:
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Startup_x0020_App_x0020_Table>
<Program_x0020_Location>5</Program_x0020_Location>
<Name>5</Name>
<Delay>true</Delay>
<StartOnStartup>true</StartOnStartup>
<KeepAlive>true</KeepAlive>
</Startup_x0020_App_x0020_Table>
</DocumentElement>以下是在保存前仅选中其中两个框时的值:
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Startup_x0020_App_x0020_Table>
<Program_x0020_Location>7</Program_x0020_Location>
<Name>7</Name>
<Delay>true</Delay>
<KeepAlive>true</KeepAlive>
</Startup_x0020_App_x0020_Table>
</DocumentElement>我的问题是在什么时候使用:
_dataTable.WriteXml(_xmlLocation);如何编写即使是未选中的框?
因为当我使用以下命令加载此xml文件时:
DataSet dataSet = new DataSet();
dataSet.ReadXml(xml);
MyDataGridView.DataSource = dataSet.Tables[0];它只显示已选中的复选框列(例如,如果我只保存了一行)
谢谢!
发布于 2015-07-22 21:49:03
您希望看到DataTable中定义的所有列,因此需要将该DataTable的模式存储在xml中,以获得完整的表/列定义。
_dataTable.TableName = "MyLovelyTableName"; // you must have a TableName
_dataTable.WriteXml(_xmlLocation, XmlWriteMode.WriteSchema);如果你也可以(顺便说一句,你不能)存储一个单元格的默认值,这是没有用的。您仍然不会有类型信息。ReadXml应该如何区分null和空字符串?如何区分布尔值true和字符串true?name列应该标识为数字还是字符串?名字听起来不像是数字。无论哪种方式,您都需要类型信息来做正确的事情,并且您不应该依赖类型猜测。
https://stackoverflow.com/questions/31561308
复制相似问题