2013-06-24 2 views
0

J'utilise la source de liaison de données avec laquelle datasource bind avec liste. Maintenant, je convertir cette source de données DataSet mais jeter l'exception comme:Convertir BindingSource à Datable ou Dataset

Impossible de jeter l'objet de type « System.Windows.Forms.BindingSource » taper « System.Data.DataSet »

J'écris ce code pour convertir la source de données en ensemble de données.

if (childCtrl is DataGridView) 
        { 
         DataSet ds = new DataSet(); 
         ds = (DataSet)(((DataGridView)childCtrl).DataSource); 
         ds.WriteXml(@"D:\AverageReporting.xml"); 
        } 

Il existe donc un moyen de convertir les données de source de liaison en ensemble de données?

Répondre

0

Essayez cette

DataSet ds = new DataSet(); 

foreach(DataGridViewColumn col in dgv.Columns) 
ds.table[0].Columns.Add(col.HeaderText, typof(string)); 

foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
    foreach (DataGridViewCell cell in row.Cells) 
    { 
     ds.table[0].Rows[row.Index][cell.ColumnIndex] = cell.Value; 
    }   
}