2010-06-24 43 views

回答

23

可能是一個更好的方式來做到這一點,但否則它會通過DGV相當瑣碎,只是環和手動創建數據表。

像這樣的東西可能會奏效:

DataTable dt = new DataTable(); 
foreach(DataGridViewColumn col in dgv.Columns) 
{ 
    dt.Columns.Add(col.Name);  
} 

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); 
} 
7

您可以從DataGridView中投的DataSource對象到DataTable

DataTable dt = new DataTable(); 
dt = (DataTable)dataGridView1.DataSource; 
+3

應該指出的是,如果DataSource是BindingList ,這將不起作用,儘管我非常有希望。 – 2015-06-04 16:12:45

4

您可以使用下面的代碼也,這個代碼填不影響你的DataGridView當你做一些添加或刪除數據表中的行時

DataTable dt = new DataTable(); 
dt = Ctype(dataGridView1.DataSource,DataTable).copy(); 
相關問題