把用Linq 取得的数据放到DataTable去
表 : SaleOrder  
Id ,Name ,Flag, Date
DataClassesDataContext db =new DataClassesDataContext();
var SaleSource =from sale in db.SaleOrder
                 where sale.Flag == 0 || sale.Flag == null
                 select sale;
现在想把 SaleSourse 转换成 DataTable
各位大虾  求救!!!!
------解决方案--------------------public static DataTable CopyToDataTable<T>(this IEnumerable<T> array)
{
var ret = new DataTable();
foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
ret.Columns.Add(dp.Name, dp.PropertyType);
foreach (T item in array)
{
var Row = ret.NewRow();
foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
Row[dp.Name] = dp.GetValue(item);
ret.Rows.Add(Row);
}
return ret;
}
------解决方案--------------------拖个DataGridView 把SaleSource 绑定到DataGridView  
然后再放到DataTable 中
DataGridView.DataSource =SaleSource;
public DataTable GetTable(DataGridView dv)
       {
           DataTable dt = new DataTable();
           DataColumn dc;
           for (int i = 0; i < dv.Columns.Count; i++)
           {
               dc = new DataColumn();
               dc.ColumnName = dv.Columns[i].HeaderText.ToString();
               dt.Columns.Add(dc);
           }
           for (int j = 0; j < dv.Rows.Count; j++)
           {
               DataRow dr = dt.NewRow();
               for (int x = 0; x < dv.Columns.Count; x++)
               {
                   dr[x] = dv.Rows[j].Cells[x].Value;
               }
               dt.Rows.Add(dr);
           }
           return dt;
       }