嗨,任何人都可以在这个问题上帮助我,就像我试图从 datagridview 中的数据创建 XML 文件一样。问题是 datagridview 是动态创建的 n 它取决于用户在他创建的 n 列中输入数据的行数。Datagridview 包含具有整数和字符串的列。所以初始化列 n 行有点困难,因为我是新手。请帮我解决这个问题..
问问题
2208 次
3 回答
4
请参阅已接受的解决方案并DataTable
手动创建
DataTable dt = new DataTable();
foreach(DataGridViewColumn col in dgv.Columns)
{
dt.Columns.Add(col.HeaderText);
}
foreach(DataGridViewRow row in dgv.Rows)
{
DataRow dRow = dt.NewRow();
foreach(DataGridViewCell cell in row.Cells)
{
dRow[cell.ColumnIndex] = cell.Value;
}
dt.Rows.Add(dRow);
}
创建这个之后DataTable
,创建一个DataSet
并使用WriteXml
DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.WriteXml("your local path here");
于 2012-09-24T05:08:25.160 回答
2
DataSet ds = new DataSet();
DataTable dt = (DataTable)gv.DataSource;// if data source is dynamic data table it will wokr
ds.Tables.Add(dt);
string xml = ds.GetXml();
于 2012-09-24T05:10:07.433 回答
0
private XElement GetData(DataGridView dgv)
{
var elem = new XElement("data");
foreach (DataGridViewRow row in dgv.Rows)
{
elem.Add(new XElement("row",
row.Cells
.Cast<DataGridViewCell>()
.Select(a => new XElement(a.OwningColumn.Name, a.Value))));
}
return elem;
}
于 2012-09-24T05:07:49.860 回答