我想要做的是編寫一個在我的Windows窗體應用程序的業務邏輯中的sepprate函數。此函數接收xml文件路徑和datagridview對象作爲參數。從DataGridView提取數據並填充XML
這應該工作:
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'."}
我已經搜索並tryed一切,我不會supprised如果是簡單的東西,因爲我是新來的C#,但我需要幫助,請
如果設置NorthwindDataSet網格數據源,你需要「找回」像這樣的東西結合:數據集DS'=(NorthwindDataSet )datagridview.DataSource;' – Reniuz 2012-04-19 10:15:03