首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#怎么从DataGridView控件数据,转成获取DataTable

2012-08-08 
C#如何从DataGridView控件数据,转成获取DataTable。如题。有没有现成的方法。虽然自己写是可以实现。[解决办法

C#如何从DataGridView控件数据,转成获取DataTable。
如题。

有没有现成的方法。

虽然自己写是可以实现。

[解决办法]
就得自己写哥们,哎,同情!
你怎么写的
if (e.Row.Cells[2].Text == "1")//获取权限的值是1还是2,方便用汉字来显示
{
e.Row.Cells[2].Text = "普通管理员";
}
else
{
e.Row.Cells[2].Text = "超级管理员";
}
我刚做的你转换下 好像就行 看看吧
[解决办法]
如果有分页的话还貌似不行吧...
[解决办法]
昨天刚写的


/// <summary>
/// 方法实现把dgv里的数据完整的复制到一张内存表
/// </summary>
/// <param name="dgv">dgv控件作为参数</param>
/// <returns>返回临时内存表</returns>
public static DataTable GetDgvToTable(DataGridView dgv)
{
DataTable dt=new DataTable();
for (int count = 0; count < dgv.Columns.Count; count++)
{
DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString());
dt.Columns.Add(dc);
}
for (int count = 0; count < dgv.Rows.Count; count++)
{
DataRow dr = dt.NewRow();
for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
{
dr[countsub] = dgv.Rows[count].Cells[countsub].Value.ToString();
}
dt.Rows.Add(dr);
}
return dt;
}
[解决办法]
如果你的datagridview是绑定数据源的,还比较好处理
如果没有绑定,好像还真的循环了
[解决办法]
DataTable t=DataGridView1.DataSource as DataTable
[解决办法]
如果直接数据绑定的话,直接 

DataTable dt = (datagridview.DataSource as DataTable);

表结构和数据都过去了。
[解决办法]
楼主:如果你的数据在dgv里经过处理了,那就得循环
如3楼所写。
如果没有,也就没有此贴了
[解决办法]

探讨
昨天刚写的


/// <summary>
        /// 方法实现把dgv里的数据完整的复制到一张内存表
        /// </summary>
        /// <param name="dgv">dgv控件作为参数 </param>
        /// <returns>返回临时内存表 </returns>
        public static DataTable GetDgvToTable(DataGridView dgv)
        {
            DataTable dt=new DataTable();
            for (int count = 0; count < dgv.Columns.Count; count++)
            {
                DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString());
                dt.Columns.Add(dc);
            }
            for (int count = 0; count < dgv.Rows.Count; count++)
            {
                DataRow dr = dt.NewRow();
                for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
                {
                    dr[countsub] = dgv.Rows[count].Cells[countsub].Value.ToString();


                }
                dt.Rows.Add(dr);
            }
            return dt;
        }


[解决办法]
用正则吧

热点排行