List转换成DataSet

List转换成DataSet,强大的泛型

public  static DataSet ConvertToDataSet<T>(this IList<T> list)

      {
          //获取泛型类型
          Type elementType = typeof(T);
          var ds = new DataSet();
          var t = new DataTable();
          ds.Tables.Add(t);
          elementType.GetProperties().ToList().ForEach(elementInfo => t.Columns.Add(elementInfo.Name, Nullable.GetUnderlyingType(elementInfo.PropertyType)));
          foreach(T item in list)
          {
              var row = t.NewRow();
              elementType.GetProperties().ToList().ForEach(elementInfor => row[elementInfor.Name] = elementInfor.GetValue(item, null) ?? DBNull.Value);
              t.Rows.Add(row);
          }
          return ds;

      }

示例:

var list = new List<personInfor> {  
  new personInfor{ id=1,age=18, name="jack"},  
  new personInfor{ id=2,age=25, name="Allenc"},  
 new personInfor{ id=3,age=20, name="Jam"}  
};  
var ds = list.ConvertToDataSet();  
GridView1.DataSource = ds.Tables[0];  
GridView1.DataBind();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值