Click here to Skip to main content
12,076,206 members (35,662 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C# LINQ C#4.0 collections
How convert my datatable in list collection class.
Posted 4-Feb-13 17:52pm
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 2

If you're using .NET 3.5, you can use DataTableExtensions.AsEnumerable (an extension method) and then if you really need a List<DataRow> instead of just IEnumerable<DataRow> you can call Enumerable.ToList:


IEnumerable<DataRow> sequence = dt.AsEnumerable();
or
 
List<DataRow> list = dt.AsEnumerable().ToList();

With C# 3.0 and System.Data.DataSetExtensions.dll,
 
List<DataRow> rows = table.Rows.Cast<DataRow>().ToList();
  Permalink  
v2
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

public List Select()
{
List lc = null;
SqlParameter[] paras = new SqlParameter[1];
string sql = "OLTaskMaster_Proc";
paras[0] = new SqlParameter("@mode", "Select");

DataSet ds = DA_Base.RunReturnDS(sql, CommandType.StoredProcedure, paras);
if (ds.Tables.Count > 0)
{
DataTable dt = ds.Tables[0];
lc = (from DataRow row in dt.Rows
select new TaskMaster()
{
nTaskMasterID = Convert.ToInt32(String.IsNullOrEmpty(row["nTaskMasterID"].ToString()) ? "-1" : row["nTaskMasterID"].ToString()),
nTaskCategoryID = Convert.ToInt32(String.IsNullOrEmpty(row["nTaskCategoryID"].ToString()) ? "-1" : row["nTaskCategoryID"].ToString()),
strTaskName = String.IsNullOrEmpty(row["strTaskName"].ToString()) ? "" : row["strTaskName"].ToString(),
strTaskDesc = String.IsNullOrEmpty(row["strTaskDesc"].ToString()) ? "" : row["strTaskDesc"].ToString(),
}).ToList();
}
return lc;
}
  Permalink  
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 4

Try like below example..adjust with your variables etc:
var eList= ds.Tables[0].AsEnumerable().Select(dataRow => new Employee{Name = dataRow.Field<string>("Name")}).ToList();
  Permalink  
v2
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 3

public List<int> GetAllReportID()
        {
            List<int> RR_ID = new List<int>();
            SqlConnection sc = new SqlConnection(conn);
            SqlDataAdapter da = new SqlDataAdapter("SP_GetAllSentReport", sc);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataSet ds = new DataSet();
            da.Fill(ds);
 
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                RR_ID.Add(int.Parse(row.ItemArray.GetValue(0).ToString()));
            }
            return RR_ID;
        }
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web04 | 2.8.160208.1 | Last Updated 14 Aug 2015
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100