C# DataGridview转换为DataTable

将控件DataGridview中的数据 转化为DataTable格式的

参考其他人的代码实现了这个功能。

        public DataTable DataGridViewToTable(DataGridView dgv)
        {
            System.Data.DataTable dt = new System.Data.DataTable();

           // 循环列标题名称,处理了隐藏的行不显示
            for (int count = 0; count < dgv.Columns.Count; count++)
            {
                if (dgv.Columns[count].Visible == true)
                {
                    dt.Columns.Add(dgv.Columns[count].HeaderText.ToString());
                }
            }

            // 循环行,处理了隐藏的行不显示
            for (int count = 0; count < dgv.Rows.Count; count++)
            {
                DataRow dr = dt.NewRow();
                int curr = 0;
                for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
                {
                    if (dgv.Columns[countsub].Visible == true)
                    {
                        if (dgv.Rows[count].Cells[countsub].Value != null)
                        {
                            dr[curr] = dgv.Rows[count].Cells[countsub].Value.ToString();
                        }
                        else
                        {
                            dr[curr] = "";
                        }
                        curr++;
                    }
                }
                dt.Rows.Add(dr);
            }
            return dt;
        }

该引用的引用一下就可以啦,调用这个类就可以了。

在网上找的资料都差不多,但是如果 DataGridview中含有隐藏的列,也将会转化为DataTable,所以我增加了隐藏列的处理

你可能感兴趣的:(C#)