我将我的数据表保存到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];
它只显示已检查的复选框列(例如,如果我只保存了一行)
谢谢!
答案 0 :(得分:0)
您希望查看DataTable中定义的所有列,因此您需要将该DataTable的架构存储在xml中以获得完整的表/列定义。
_dataTable.TableName = "MyLovelyTableName"; // you must have a TableName
_dataTable.WriteXml(_xmlLocation, XmlWriteMode.WriteSchema);
如果可以(你不能顺便)存储单元格的默认值也无济于事。您仍然没有类型信息。 ReadXml应该如何区分null和空字符串?如何将布尔值true与字符串true区分开来?名称列是否应标识为数字或字符串?名称听起来不像是一个数字。无论哪种方式,你需要类型信息来做正确的事情,你不应该依赖类型猜测。