DataView 转成DataTable

ExpandedBlockStart.gif 代码
         public  DataTable CreateTable(DataView obDataView)
        {
            
if  ( null   ==  obDataView)
            {
                
throw   new  ArgumentNullException
                    (
" DataView " " Invalid DataView object specified " );
            }

            DataTable obNewDt 
=  obDataView.Table.Clone();
            
int  idx  =   0 ;
            
string  [] strColNames  =   new   string [obNewDt.Columns.Count];
            
foreach  (DataColumn col  in  obNewDt.Columns)
            {
                strColNames[idx
++ =  col.ColumnName;
            }

            IEnumerator viewEnumerator 
=  obDataView.GetEnumerator();
            
while  (viewEnumerator.MoveNext())
            {
                DataRowView drv 
=  (DataRowView)viewEnumerator.Current;
                DataRow dr 
=  obNewDt.NewRow();
                
try
                {
                    
foreach  ( string  strName  in  strColNames)
                    {
                        dr[strName] 
=  drv[strName];
                    }
                }
                
catch  (Exception ex)
                {
                    
throw   new  Exception( " DataView create table error! " );
                }
                obNewDt.Rows.Add(dr);
            }

            
return  obNewDt;
        }

 

转载于:https://www.cnblogs.com/andycai/archive/2010/03/26/1696924.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值