2013-01-09 80 views
0

如何使用序列化將datagridview轉換爲xml文件?如何使用序列化將datagridview轉換爲xml文件?

以下代碼不起作用,因爲dt總是null

DataTable dt = new DataTable(); 
dt = dataGridView1.DataSource as DataTable; 
DataSet ds = new DataSet(); 
ds.Tables.Add(dt); 
ds.WriteXml(@"e:\results.xml", System.Data.XmlWriteMode.IgnoreSchema); 

在此先感謝您。

+0

它的失敗,因爲你的DataSource顯然不是一個DataTable。問題是:你的DataSource是什麼,你在哪裏設置它? – Jobo

回答

1
 BindingSource bs = new BindingSource(); 
     DataTable dt = new DataTable(); 
     DataSet ds = new DataSet(); 

     dt.Columns.Add("1", typeof(int)); 
     dt.Columns.Add("2"); 
     dt.Columns.Add("3"); 
     dt.Columns.Add("4"); 
     dt.Columns.Add("5"); 

     string[] row = {null,"dsadxaxsa","xasxsa","","dsad"}; 
     string[] row1 = { "1", "ddd", "gg", "hh", "ff" }; 
     string[] row2 = { "2", "h", "hhhh", "sas", "dsad" }; 
     string[] row3 = { "3", "h", "hhhh", "sas", "dsad" }; 
     string[] row4 = { null, "h", "hhhh", "sas", "dsad" }; 
     dt.Rows.Add(row); 
     dt.Rows.Add(row1); 
     dt.Rows.Add(row2); 
     dt.Rows.Add(row3); 
     dt.Rows.Add(row4); 

     bs.DataSource = dt; 
     dataGridView1.DataSource = bs; 

     ds.Tables.Add(dt); 
     ds.WriteXml("e:\\results.xml", System.Data.XmlWriteMode.IgnoreSchema); 
+0

正在工作,但通過此解決方案,datagridview中的數據不會導入到xml文件中。我仍然必須手動完成。 –

+0

你是如何將數據綁定到'DataGridView'的?你能分享你的代碼嗎? – spajce

相關問題