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;
posted @ 2009-08-31 17:42  goldkevin  阅读(1909)  评论(0编辑  收藏  举报