zoukankan      html  css  js  c++  java
  • 将DataView转换为DataTable

    适用: 一般用在datatable排序的时候:先将datatable转换成dataview然后排序,再转换成datatable。

    DataTable dtgradetemp = BLL.BaseSetting.PNGrade.GetPNGrade(longpn);
                                DataView dv = new DataView(dtgradetemp);
                                dv.Sort = "Priority desc";
                                DataTable dtgrade = GetDataTable(dv);
    // <summary>
    /// 将DataView转换为DataTable
    /// </summary>
    /// <param name="obDataView"></param>
    /// <returns></returns>
    public DataTable GetDataTable(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)
    {
    Console.WriteLine(ex.Message);
    }
    obNewDt.Rows.Add(dr);
    }
    return obNewDt;
    }
  • 相关阅读:
    idea 相关
    dns 相关
    bash 相关
    建造者模式(Builder)
    C#中out 及 ref 区别
    C# 2.0新特性
    Asp.net.Ajax控件学习
    装饰模式(Decorator Pattern)
    职责链模式(Chain of Responsibility Pattern)
    面向对象
  • 原文地址:https://www.cnblogs.com/jonson1126/p/3357476.html
Copyright © 2011-2022 走看看