2010-06-24 29 views

Respuesta

23

podría ser una manera más agradable para hacerlo, pero de lo contrario sería bastante trivial a tan solo conecta a través de la DG V y crear el DataTable manualmente.

Algo como esto podría funcionar:

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

Usted puede convertir el objeto DataSource del DataGridView a un DataTable

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

Debe tenerse en cuenta que esto no funcionará si DataSource es una lista de vinculación , aunque tenía muchas esperanzas. –

4

puede utilizar el siguiente código también, este código no efecto de relleno de su DataGridView cuando agregue o borre filas en la tabla de datos

DataTable dt = new DataTable(); 
dt = Ctype(dataGridView1.DataSource,DataTable).copy(); 
Cuestiones relacionadas