DataGridView转datatable

  /// <summary>
        ///  datagridview转datatable
        /// </summary>
        /// <param name="dv"></param>
        /// <returns></returns>
        public static DataTable dvtodt(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;
        }

  //private void DataGridViewToDataTable()
        //{
        //    DataTable dt = new DataTable("tablename");
        //    DataRow dr;
        //    dt.Columns.Add("商品ID", System.Type.GetType("System.Int16"));
        //    dt.Columns.Add("商品名称", System.Type.GetType("System.Int16"));
        //    dt.Columns.Add("商品性别", System.Type.GetType("System.Int16"));
        //    for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
        //    {
        //        dr = dt.NewRow();
        //        for (int j = 0; j <= 2; j++)
        //        {
        //            dr[j] = Convert.ToInt16(this.dataGridView1.Rows[i].Cells[j].Value);
        //        }
        //        dt.Rows.Add(dr);
        //    }
        //    DataSet selectds = new DataSet();
        //    selectds.Tables.Add(dt);
        //}

原文地址:https://www.cnblogs.com/leischen/p/2826225.html