怎么样把ArrayList转换成DataSet 这样一个ArrayList转换成DataSet的方法,怎么写的哦? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 遍历ArrayList,把数据插入dataset 你要确定你的ArrayList里存放的是什么实体类根据该实体类的类型来创建DataSet中DataTable的结构,然后对位手动的转换。 很easy吧.循环不就完了顶2楼.无需转.当你需要转为ds时,arraylist一样能满足 这个应该差不多的,你试试看的 /// <summary> /// Ilist<T> 转换成 DataSet /// </summary> /// <param name="list"></param> /// <returns></returns> public static DataSet ConvertToDataSet<T>(IList<T> list) { if (list == null || list.Count <= 0) { return null; } DataSet ds = new DataSet(); DataTable dt = new DataTable(typeof(T).Name); DataColumn column; DataRow row; System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance); foreach (T t in list) { if (t == null) { continue; } row = dt.NewRow(); for (int i = 0, j = myPropertyInfo.Length; i < j; i++) { System.Reflection.PropertyInfo pi = myPropertyInfo[i]; string name = pi.Name; if (dt.Columns[name] == null) { column = new DataColumn(name, pi.PropertyType); dt.Columns.Add(column); } row[name] = pi.GetValue(t, null); } dt.Rows.Add(row); } ds.Tables.Add(dt); return ds; } 声明一个表,加上一列,遍历ArrayList,将数据分别加入到这列内将叫添加到dataset内完毕!!!我就不明白这样做有什么意义么?要是绑定数据的话没必要这样做吧,直接搞啊! ArrayList arrL = new ArrayList(); DataTable dt = new DataTable(); dt.Rows.Add(arrL);但是列一定要匹配上。 把Arraylist里数据考到datatable里。然后填充到dataset.好像说了等于没说。 两和之差 foreach 循环完毕以后程序自动关闭? ExecuteReader()绑定控件后NextResult()的问题. 如何设置右键菜单 用Listbox进行多选,怎样处理? 请问使用C#编程登录网页的方法 在vs.net2005下怎么给GridView的每一行定义个js事件呀?? C#如何把输出word文档的文字居中?高手们。 请教怎么写死dataGrid的表头? VS2008的异常模块 求IIS安装程序.. C#中如何动态的申明变量啊
根据该实体类的类型来创建DataSet中DataTable的结构,然后对位手动的转换。
/// <summary>
/// Ilist<T> 转换成 DataSet
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static DataSet ConvertToDataSet<T>(IList<T> list)
{
if (list == null || list.Count <= 0)
{
return null;
}
DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row; System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
foreach (T t in list)
{
if (t == null)
{
continue;
}
row = dt.NewRow();
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
string name = pi.Name;
if (dt.Columns[name] == null)
{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}
row[name] = pi.GetValue(t, null);
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return ds;
}
将叫添加到dataset内
完毕!!!
我就不明白这样做有什么意义么?
要是绑定数据的话没必要这样做吧,直接搞啊!
DataTable dt = new DataTable();
dt.Rows.Add(arrL);
但是列一定要匹配上。
好像说了等于没说。