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;
    }
    }

  • 相关阅读:
    阿牛的EOF牛肉串
    盐水的故事
    密码
    Digital Roots
    不容易系列之(3)—— LELE的RPG难题
    不容易系列之一
    超级楼梯
    母牛的故事
    蟠桃记
    Children’s Queue
  • 原文地址:https://www.cnblogs.com/chengeng/p/13424840.html
Copyright © 2011-2022 走看看