Click here to Skip to main content
12,944,475 members (51,261 online)
Rate this:
 
Please Sign up or sign in to vote.
How convert my datatable in list collection class.
Posted 4-Feb-13 16: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<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;
}
  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
OriginalGriff 4,651
CHill60 3,055
Maciej Los 2,423
Jochen Arndt 1,910
ppolymorphe 1,765


Advertise | Privacy | Mobile
Web02 | 2.8.170518.1 | Last Updated 14 Aug 2015
Copyright © CodeProject, 1999-2017
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