Click here to Skip to main content
15,867,762 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
How convert my datatable in list collection class.
Posted

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:


C#
IEnumerable<DataRow> sequence = dt.AsEnumerable();
or

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


XML
With C# 3.0 and System.Data.DataSetExtensions.dll,

List<DataRow> rows = table.Rows.Cast<DataRow>().ToList();
 
Share this answer
 
v2
public List<taskmaster> Select()
{
List<taskmaster> 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;
}
 
Share this answer
 
Try like below example..adjust with your variables etc:
C#
var eList= ds.Tables[0].AsEnumerable().Select(dataRow => new Employee{Name = dataRow.Field<string>("Name")}).ToList();
 
Share this answer
 
v2
Comments
Member 14006030 1-Nov-18 7:33am    
reference required to use this
XML
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;
        }
 
Share this answer
 

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900