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;
    }
  • 相关阅读:
    快速排序
    09-HQL:Group、Order
    08-表属性操作
    07-数据导出及动态分区
    06-数据加载
    05-Hive数据操作
    04-表操作2
    03-表操作1
    [原创]IPV4分组的格式
    mysql中having和where的区别
  • 原文地址:https://www.cnblogs.com/jonson1126/p/3357476.html
Copyright © 2011-2022 走看看