zoukankan      html  css  js  c++  java
  • IEnumerable和 IQueryable 转化为DataTable

     

    扩展方法:
    public static DataTable ConvertToDataTable(this IEnumerable enumerable)
    {
        var dataTable = new DataTable();
        foreach (PropertyDescriptor pd in TypeDescriptor.GetProperties(typeof(T))) {
               dataTable.Columns.Add(pd.Name, pd.PropertyType);
        }
        foreach (T item in enumerable) {
               var Row = dataTable.NewRow();
                   
           foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))  {
                     Row[pd.Name] = pd.GetValue(item);
           }
        dataTable.Rows.Add(Row);
       }
       return dataTable;

    }

    传统写法:
    DataTable table = new DataTable();
    table.Columns.Add("UserID", typeof (long));
    table.Columns.Add("UserName", typeof (string));

    IEnumerable<T> database = //获取数据源;
        foreach (T info in database) {
            DataRow row = dt.NewRow();
            row["ID"] = database.ID;
            row["Name"] = database.Name;
            table.Rows.Add(row);
         }
    }
    return table;

  • 相关阅读:
    Delphi Help
    RAD 10 新控件 TSearchBox TSplitView
    滚动条
    c++builder Active Form
    chart左侧
    RAD 10 蓝牙
    浏览器插件 火狐插件
    c++builder delphi 调用dll dll编写
    模拟键盘 键盘虚拟代码
    oracle怎么把一个用户下的表复制给另一个用户?(授予表权限)
  • 原文地址:https://www.cnblogs.com/xffy1028/p/2344329.html
Copyright © 2011-2022 走看看