`
net_liu
  • 浏览: 228697 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DataTable转泛型

C# 
阅读更多

DataTable转泛型

 

 

public class DataHelper
    {
       
/// <summary>
       
/// 多个DataRow转换泛型集合
       
/// </summary>
       
/// <typeparam name="T"></typeparam>
       
/// <param name="rows"></param>
       
/// <returns></returns>
        public static List<T> ConvertTo<T>(List<DataRow> rows) { List<T> list = null;

           
if (rows != null)
            {
                list
= new List<T>();

               
foreach (DataRow row in rows)
                {
                    T item
= CreateItem<T>(row);
                    list.Add(item);
                }
            }

           
return list;
        }

       
/// <summary>
       
/// Table转List
       
/// </summary>
       
/// <typeparam name="T"></typeparam>
       
/// <param name="table"></param>
       
/// <returns></returns>
        public static List<T> ConvertTo<T>(DataTable table)
        {
           
if (table == null)
            {
               
return null;
            }

            List
<DataRow> rows = new List<DataRow>();

           
foreach (DataRow row in table.Rows)
            {
                rows.Add(row);
            }

           
return ConvertTo<T>(rows);
        }

       
public static T CreateItem<T>(DataRow row)
        {
            T obj
= default(T);
           
if (row != null)
            {
                obj
= Activator.CreateInstance<T>();

               
foreach (DataColumn column in row.Table.Columns)
                {
                    PropertyInfo prop
= obj.GetType().GetProperty(column.ColumnName);
                   
try
                    {
                       
if (prop != null && prop.CanWrite)
                        {
                           
object value = row[column.ColumnName];
                           
if (value != DBNull.Value)
                            {
                                prop.SetValue(obj, value,
null);
                            }
                        }
                    }
                   
catch (Exception ex)
                    {
                       
// You can log something here  
                        throw;
                    }
                }
            }

           
return obj;
        }
    }



分享到:
评论

相关推荐

    .net 中datatable与list泛型实体对象的互相转换

    非常方便的datatable类型与List泛型实体对象集合的互相转换,在面向对象的开发中,经常会用到的,如使用上不懂可以咨询我

    .net 将datatable转换为实体类LIST

    将datatable转换为实体类LIST,运用了反射和泛型的技术

    DataTable转List

    利用反射和泛型 把Datatable转化为List 1

    C#将DataTable转换成list的方法

    本文实例讲述了C#将DataTable转换成list及数据分页的方法。分享给大家供大家参考。具体如下: 代码如下:///    /// 酒店评论列表-分页  ///   /// ”userId”&gt;  /// ”pageIndex”&gt;当前页  /// ”pageCount”...

    C#中将DataTable转化成ListT的方法解析

    泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行。当涉及到两者之间的转换时,就显得有些较为繁琐。这个其中的问题主要在两者的存储方式...

    IList<T>转换为DataTable

    最近在项目中用到泛型接口通过反射转换为DataTable,查了些资料看到的解决方法不是太对,这里有我解决后的方法,希望对大家有帮助!

    c# 对DataTable各种常用操作的源代码

    附件包括 c# 对 DataTable各种常用操作的源代码 包括DataTable按起始位置和移动及移动方向进行移动并返回新的DataTable ;根据条件过滤表 ;返回两个表的关联数据,关联后的表中只...将Datatable封装成泛型 等各种函数

    NPOI 导入导出Excel (List泛型版)

    NPOL网上有返回DataTable,我自己编写了个泛型版的。

    ExcelHelper.cs

    Excel导入导出帮助类,支持将DataTable、泛型集合导出到Excel,支持office全版本。

    C#将DataTable转化为List&lt;T&gt;

    本文给大家讲解的是如何使用C#将DataTable数据源转化为List泛型集合(已知T类型) 的方法和示例,有需要的小伙伴可以参考下

    个人记账系统

    其中有几个控件大概说一下:JFOS.Control.DLL封装了窗体空间,JFOS.Convert.DLL封装了转换函数,主要是DataTable到泛型List的函数,JFOS.WinSet.Dll主要是窗体设置类,JFOSERR.DLL记录错误信息类,JFOSLIB.DLL主要数封装...

    DataTable与实体类互相转换

    DataTable与实体类互相转换的泛型类,实现了用DataTable填充实体类, 实体类转换成DataSet

    将DataTable转换成Listlt;Tgt;实现思路及示例代码

    前几天在工作中,遇到一个问题:需要将查询出来的DataTable数据源,转换成List的泛型集合(已知T类型)。第一反应,我想肯定要用到“泛型”(这不是废话吗?都说了要转换成List泛型集合了),而且还要用到“反射”...

    c#中利用委托反射将DataTable转换为实体集的代码

    类泛型的约束: 代码如下: public static class ToModel&lt;T&gt; where T : class, new() 定义委托: 代码如下:public delegate void SetString(string value); 创建委托方法: 代码如下: private static SetString ...

    C# DataTable与Model互转的示例代码

    /// /// 实体转换辅助类 ... /// List泛型转换DataTable. /// public DataTable ListToDataTable(List&lt;T&gt; items) { var tb = new DataTable(typeof(T).Name); PropertyInfo[] props = typeof(T).GetPrope

    使用泛型将数据表转换为集合

    从DataTable到T.// DataTable数组:从IListpublic静态DataTable ToDataTable(this IList iList){DataTable dataTable = new DataTable(); PropertyDescriptorCollection propertyDescriptorCollection = ...

    JSON 互转 Helper

    对象转JSON、数据表转JSON 、JSON文本转对象,泛型方法 、将JSON文本转换为数据表数据 、将JSON文本转换成数据行 、List转换成Json、对象集合转换Json 、普通集合转换Json 、DataSet转换为Json 、Datatable转换为Json...

    在ASP.NET AJAX中返回DataTable到客户端Javascript

    通过对ASP.NET AJAX技术的实验,采用在ASP.NET AJAX中将DataTable转化为泛型集合对象并返回到客户端Javascript的方法,总结出异步刷新技术中的DataTable可以直接返回到客户端,具有极大的参考价值。

    Dictionary序列化源码 datatable序列化源码

    Dictionary序列化源码 datatable序列化源码 文件反序列化为泛型数组 序列化泛型数组为xml文件 值得下载 源码可以运行

Global site tag (gtag.js) - Google Analytics