DataView 转成DataTable

本文介绍了一种使用C#从DataView复制数据到新的DataTable的方法。通过枚举DataView中的每一项并将其逐条添加到新的DataTable中,实现了数据的有效复制。在此过程中,还包含了异常处理来确保程序的稳定性。
                DataView dv = dtSelected.DefaultView;
                DataTable dNew = dtSelected.Clone();
                int idx = 0;
                string[] strColNames = new string[dNew.Columns.Count];
                foreach (DataColumn col in dNew.Columns)
                {
                    strColNames[idx++] = col.ColumnName;
                }
                IEnumerator viewEnumerator = dv.GetEnumerator();
                while (viewEnumerator.MoveNext())
                {
                    DataRowView drv = (DataRowView)viewEnumerator.Current;
                    DataRow dr = dNew.NewRow();
                    try
                    {
                        foreach (string strName in strColNames)
                        {
                            dr[strName] = drv[strName];
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    dNew.Rows.Add(dr);
                }
                dtSelected = dNew;
                this.gvSelectedGridView.DataSource = dNew;

转载于:https://www.cnblogs.com/goldkevin/archive/2009/08/31/1557478.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值