Ilist 转换成 DataSet

/// <summary>
Ilist<T> 转换成 DataSet
/// Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet
/// </summary>
Ilist<T> 转换成 DataSet
/// <param name="list"></param>
Ilist<T> 转换成 DataSet
/// <returns></returns>

Ilist<T> 转换成 DataSet public static DataSet ConvertToDataSet<T>(IList<T> list)
Ilist<T> 转换成 DataSet
{
Ilist<T> 转换成 DataSet
if (list == null || list.Count <= 0)
Ilist<T> 转换成 DataSet
{
Ilist<T> 转换成 DataSet
return null;
Ilist<T> 转换成 DataSet }

Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet DataSet ds
= new DataSet();
Ilist<T> 转换成 DataSet DataTable dt
= new DataTable(typeof(T).Name);
Ilist<T> 转换成 DataSet DataColumn column;
Ilist<T> 转换成 DataSet DataRow row;
Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet System.Reflection.PropertyInfo[] myPropertyInfo
= typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet
foreach (T t in list)
Ilist<T> 转换成 DataSet
{
Ilist<T> 转换成 DataSet
if (t == null)
Ilist<T> 转换成 DataSet
{
Ilist<T> 转换成 DataSet
continue;
Ilist<T> 转换成 DataSet }

Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet row
= dt.NewRow();
Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
Ilist<T> 转换成 DataSet
{
Ilist<T> 转换成 DataSet System.Reflection.PropertyInfo pi
= myPropertyInfo[i];
Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet
string name = pi.Name;
Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet
if (dt.Columns[name] == null)
Ilist<T> 转换成 DataSet
{
Ilist<T> 转换成 DataSet column
= new DataColumn(name, pi.PropertyType);
Ilist<T> 转换成 DataSet dt.Columns.Add(column);
Ilist<T> 转换成 DataSet }

Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet row[name]
= pi.GetValue(t, null);
Ilist<T> 转换成 DataSet }

Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet dt.Rows.Add(row);
Ilist<T> 转换成 DataSet }

Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet ds.Tables.Add(dt);
Ilist<T> 转换成 DataSet
Ilist<T> 转换成 DataSet
return ds;
Ilist<T> 转换成 DataSet }

你可能感兴趣的:(list)