This example will help you converting your DataTable into List<T>, this topic is specially helpful for development in silverlight, as DataTables doesnot exist in it, so we need to have to convert DataTable into List<T> or ObservableCollection<T>.
Suppose following is your DataTable
The process of converting above DataTable completes in three steps.
Step1: Make a class having properties with respect to your DataTable Columns, In the Example Table there are three Columns
>> RollNo
>> Name
>> class
So You have to Make the following Class
Step2: Make a Function of return type of your above class, that will convert a DataTable Row in List<T> Row, This function will be called in Linq Query in Third Step
Step3: In the last you are able to convert your DataTable dtExample into List<Employees>. go through the Third Step
Now LstEmployees is your List of Type List<Employees>, which is converted from DataTable dtExample Hope this will help you and work for you.
Suppose following is your DataTable
1
2
3
4
| DataTable dtExample = new DataTable( "Example" ); dtExample.Columns.Add( "RollNo" ); dtExample.Columns.Add( "Name" ); dtExample.Columns.Add( "Class" ); |
The process of converting above DataTable completes in three steps.
Step1: Make a class having properties with respect to your DataTable Columns, In the Example Table there are three Columns
>> RollNo
>> Name
>> class
So You have to Make the following Class
1
2
3
4
5
6
| public class Employees { public String RollNo { get ; set ;} public String Name{ get ; set ;} public String Class{ get ; set ;} } |
1
2
3
4
5
6
7
8
| private Employees GetEmpDataTableRow(DataRow dr) { Employees oEmp = new Employees(); oEmp.RollNo = dr[ "RollNo" ].ToString(); oEmp.Name = dr[ "Name" ].ToString(); oEmp.Class = dr[ "Class" ].ToString(); return oEmp ; } |
1
2
3
4
5
6
| List<Employees> LstEmployees = new List<Employees>(); LstEmployees = new List<Employees>( (from dRow in dtExample.AsEnumerable() select (GetEmpDataTableRow(dRow))) ); |
0 comments:
Post a Comment