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

  • 相关阅读:
    【JBPM4】创建流程实例
    【JBPM4】流程部署
    Table上下滚动
    oracle 导入dmp文件
    Win7下安装Oracle 10g
    【Hibernate3.3复习知识点二】
    通过IP地址和子网掩码计算主机数
    vue.js知识总结
    vue生产环境部署总结
    移动端上遇到的各种坑与相对解决方案
  • 原文地址:https://www.cnblogs.com/chengeng/p/13424840.html
Copyright © 2011-2022 走看看