![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// List Transfer DataTable Class
/// </summary>
public class IListHelper
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
/// Ilist<T> Transfer DataSet
/// </summary>
/// <param name="i_objlist"></param>
/// <returns></returns>
public static DataSet ConvertToDataSet<T>(IList<T> i_objlist)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (i_objlist == null || i_objlist.Count <= 0)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return null;
}
DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;
![](/Images/OutliningIndicators/InBlock.gif)
System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
![](/Images/OutliningIndicators/InBlock.gif)
foreach (T t in i_objlist)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (t == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
continue;
}
![](/Images/OutliningIndicators/InBlock.gif)
row = dt.NewRow();
![](/Images/OutliningIndicators/InBlock.gif)
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
![](/Images/OutliningIndicators/InBlock.gif)
string name = pi.Name;
![](/Images/OutliningIndicators/InBlock.gif)
if (dt.Columns[name] == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}
![](/Images/OutliningIndicators/InBlock.gif)
row[name] = pi.GetValue(t, null);
}
![](/Images/OutliningIndicators/InBlock.gif)
dt.Rows.Add(row);
}
![](/Images/OutliningIndicators/InBlock.gif)
ds.Tables.Add(dt);
![](/Images/OutliningIndicators/InBlock.gif)
return ds;
}
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
/// Ilist<T> Transfer DataTable
/// </summary>
/// <param name="i_objlist"></param>
/// <returns></returns>
public static DataTable ConvertToDataTable<T>(IList<T> i_objlist)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (i_objlist == null || i_objlist.Count <= 0)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return null;
}
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;
![](/Images/OutliningIndicators/InBlock.gif)
System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
![](/Images/OutliningIndicators/InBlock.gif)
foreach (T t in i_objlist)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (t == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
continue;
}
![](/Images/OutliningIndicators/InBlock.gif)
row = dt.NewRow();
![](/Images/OutliningIndicators/InBlock.gif)
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
![](/Images/OutliningIndicators/InBlock.gif)
string name = pi.Name;
![](/Images/OutliningIndicators/InBlock.gif)
if (dt.Columns[name] == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}
![](/Images/OutliningIndicators/InBlock.gif)
row[name] = pi.GetValue(t, null);
}
![](/Images/OutliningIndicators/InBlock.gif)
dt.Rows.Add(row);
}
return dt;
}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
/// Ilist Transfer DataTable
/// </summary>
/// <param name="i_objlist"></param>
/// <returns></returns>
public static DataTable ConvertToDataTable(IList i_objlist)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (i_objlist == null || i_objlist.Count <= 0)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return null;
}
DataTable dt = new DataTable();
DataRow row;
![](/Images/OutliningIndicators/InBlock.gif)
System.Reflection.PropertyInfo[] myPropertyInfo = i_objlist[0].GetType().GetProperties();
![](/Images/OutliningIndicators/InBlock.gif)
foreach (System.Reflection.PropertyInfo pi in myPropertyInfo)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (pi == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
continue;
}
dt.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int j = 0; j < i_objlist.Count; j++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
row = dt.NewRow();
for (int i = 0; i < myPropertyInfo.Length; i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
row[pi.Name] = pi.GetValue(i_objlist[j], null);
}
dt.Rows.Add(row);
}
return dt;
}
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
/// Ilist Transfer DataSet
/// </summary>
/// <param name="i_objlist"></param>
/// <returns></returns>
public static DataSet ConvertToDataSet(IList i_objlist)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (i_objlist == null || i_objlist.Count <= 0)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return null;
}
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataRow row;
![](/Images/OutliningIndicators/InBlock.gif)
System.Reflection.PropertyInfo[] myPropertyInfo = i_objlist[0].GetType().GetProperties();
![](/Images/OutliningIndicators/InBlock.gif)
foreach (System.Reflection.PropertyInfo pi in myPropertyInfo)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (pi == null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
continue;
}
dt.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int j = 0; j < i_objlist.Count; j++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
row = dt.NewRow();
for (int i = 0; i < myPropertyInfo.Length; i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
row[pi.Name] = pi.GetValue(i_objlist[j], null);
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return ds;
}
}
posted @
2007-09-13 08:31
Adam.Zhao
阅读(
556)
评论()
编辑
收藏
举报