从 DataGridView 中提取数据并填充 XML
本文关键字:填充 XML 数据 提取 DataGridView | 更新日期: 2023-09-27 18:31:32
我正在尝试做的是编写一个单独的函数,该函数位于我的Windows表单应用程序的业务逻辑中。 此函数接收 XML 文件路径和 DataGridView 对象作为参数。
这应该有效:
DataTable dt = new DataTable();
dt = (DataTable)datagridview.DataSource;
DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.WriteXml(xml_file, System.Data.XmlWriteMode.IgnoreSchema);
但是我每次都有错误:
dt = (DataTable)datagridview.DataSource;
[System.InvalidCastException] = {"Unable to cast object of type 'System.Windows.Forms.BindingSource' to type 'System.Data.DataTable'."}
所以我在另一个博客中被建议尝试这个:
BindingSource bs = (BindingSource)dgv.DataSource;
dt = (DataTable)bs.DataSource;
但我得到
[System.InvalidCastException] = {"Unable to cast object of type 'ExportDataTestApp.NorthwindDataSet' to type 'System.Data.DataTable'."}
我已经搜索并尝试了所有内容,如果它很简单,因为我是 C# 的新手,但我需要帮助,我不会被取代
你快到了。
BindingSource bs = (BindingSource)dgv.DataSource;
DataSet ds = (DataSet)bs.DataSource;
DataTable dt = ds.Tables["Customers"]; // or Tables[0]
显然你绑定了DataSourse=myDataSet,DataMember="Tablename"