datagridview1.DataSource=ds.Tables[0].DefaultView;
……
f(datagridview1);后面我又写了一个函数f。在函数内,我想获得datagridview1的DataSource
public void f(DataGridView mydt)
{
    DataTable datatable1 = (DataTable)mydt.DataSource
    ……
}编译后运行成功,但是执行f函数时,出现异常,说不能强制转换。我应该怎么改啊?求助大侠们!!!谢谢!!!

解决方案 »

  1.   

    DataTable dt = (DataTable)dataGridView1.DataSource;没问题
      

  2.   


               DataTable dt= new DataTable();
               for (int i= 0; i< dataGridView.Columns.Count; i++)
               {
                   dt.Columns.Add(dataGridView.Columns[i].Name);
               }
               DataRow newRow = dt.NewRow();
               foreach (GridViewRow rows in dataGridView.Rows) 
               {
                   for (int c = 0; c < dataGridView.Columns.Count; c++)
                   {
                       newRow[c] = rows.Cells[c].Value.ToString();
                   }
                   dt.Rows.Add(newRow);
               }
      

  3.   

    那你就先转换成DataTable ,然后传递的参数是DataTable