Click here to Skip to main content
11,708,892 members (74,081 online)
Rate this: bad
good
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 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
0 Sergey Alexandrovich Kryukov 319
1 Maciej Los 235
2 Mika Wendelius 170
3 OriginalGriff 163
4 Peter Leow 139
0 OriginalGriff 9,253
1 Sergey Alexandrovich Kryukov 8,562
2 CPallini 5,189
3 Maciej Los 4,966
4 Mika Wendelius 3,856


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