zoukankan      html  css  js  c++  java
  • Data Table 转 List<Type>

    public static class DataConvertor
    {
    public static DataTable ToDataTable<T>(IEnumerable<T> data)
    {
    PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T));
    var table = new DataTable();
    foreach (PropertyDescriptor prop in properties)
    table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
    foreach (T item in data)
    {
    DataRow row = table.NewRow();
    foreach (PropertyDescriptor prop in properties)
    row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
    table.Rows.Add(row);
    }
    return table;
    }

    public static DataTable ToDataTable(IRfcTable rfcTable)
    {
    DataTable table = new DataTable();
    int liElement = 0;
    for (liElement = 0; liElement <= rfcTable.ElementCount - 1; liElement++)
    {
    RfcElementMetadata metadata = rfcTable.GetElementMetadata(liElement);
    table.Columns.Add(metadata.Name); //循环创建列
    }
    foreach (IRfcStructure dr in rfcTable) //循环table结构表
    {
    DataRow row = table.NewRow(); //创建新行
    for (liElement = 0; liElement <= rfcTable.ElementCount - 1; liElement++)
    {
    RfcElementMetadata metadata = rfcTable.GetElementMetadata(liElement);
    row[metadata.Name] = dr.GetString(metadata.Name).Trim();
    }
    table.Rows.Add(row);
    }

    return table;
    }
    }

  • 相关阅读:
    如何使用Dev C++调试(debug)c程序
    C内存对齐详解
    epics commands
    #include <errno.h>
    linux中tail命令
    source env then start eclipse
    c++ constructor with para
    如何访问虚拟机中的架设的Web服务器(解决方法)
    dcss_gui_handler
    atlsoap.h”: No such file or directory
  • 原文地址:https://www.cnblogs.com/chengeng/p/13424840.html
Copyright © 2011-2022 走看看