【发布时间】:2014-10-10 08:49:43
【问题描述】:
我有一个应用程序,我将数据从具有 3 列的 datagridView 保存到 xml 文件,该应用程序具有保存和加载按钮,当按下保存时,它会保存到 xml 文件问题是它不加载在datagridview... 只加载它的标题。
DATAGRIDVIEW COLUMNS : (column 1= text, column 2 =checkbox, column 3 = dropdown w) 注意:下拉列表有两个值...所以它显然是 0 和 1
保存代码:
public void Save(DataGridView dgv)
{
DataTable dt = new DataTable();
for (int i = 1; i < dgv.Columns.Count + 1; i++)
{
DataColumn column = new DataColumn(dgv.Columns[i - 1].HeaderText);
dt.Columns.Add(column);
}
int ColumnCount = dgv.Columns.Count;
foreach (DataGridViewRow dr in dgv.Rows)
{
DataRow dataRow = dt.NewRow();
for (int i = 0; i < ColumnCount; i++)
{
dataRow[i] = dr.Cells[i];
}
}
DataSet ds = new DataSet();
ds.Tables.Add(dt);
XmlTextWriter newXml = new XmlTextWriter(@"c:/older/DGVXML.xml", Encoding.UTF8);
ds.WriteXmlSchema(newXml);
}
到目前为止,这就是我所拥有的一切:
public void Load(DataGridView dgv)
{
XmlReader xmlFile = XmlReader.Create(@"c:/older/DGVXML.xml", new XmlReaderSettings());
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlFile,XmlReadMode.ReadSchema);
//LOADS!!! YAY, but only the headers with no data... check save?
dgv.DataSource = dataSet.Tables[0];
xmlFile.Close();
}
【问题讨论】:
-
Dictionary拥有Keys集合。对于每个键,您必须在DataGridView中创建一行,然后填充行Cells。有什么问题? -
我不知道如何处理...
-
属性不是用来存储这类数据的。而是将数据保存在 xml 文件中,并在需要时加载它
-
@thangadurai 愿意分享我将如何处理这个问题
-
你用来绑定的数据源是什么?它是 DataSet,如果是,那么您可以使用 DataSet.WriteXml(filename) 方法创建 xml 文件。使用 DataSet.ReadXml(filename) 方法将其读入 DataSet