Wednesday, 13 April 2016

Filter or Sorting data from Data Table Using Linq in C#


Step 1: Create the Data Table
  DataTable ResponsefromSAP = new DataTable();


Step 2: Add the Column's in Data table

ResponsefromSAP.Columns.Add("Material");
ResponsefromSAP.Columns.Add("Qty");
ResponsefromSAP.Columns.Add("PicQty");
ResponsefromSAP.Columns.Add("Status");
ResponsefromSAP.Columns.Add("Vbeln");
         
Step 3: Add the Row Value in Data table

ResponsefromSAP.Rows.Add("AS-1.9-000", "56", "2", "Sucess","zmq");
ResponsefromSAP.Rows.Add("AD-1.7-000", "95", "2", "Failed", "zmq");
ResponsefromSAP.Rows.Add("MQ-1.8-000", "83", "2", "Sucess", "zmq");
ResponsefromSAP.Rows.Add("MS-1.9-000", "89", "2", "Sucess", "zmq");


Step 4:  Sorting or Filtering the Data Table using  Linq

  var FailedData = from row in ResponsefromSAP.AsEnumerable() where row.Field<string>("Status").Trim() == "Failed" select row;


  var SucessData = from row in ResponsefromSAP.AsEnumerable() where row.Field<string>("Status").Trim() == "Sucess" select row;


Step 5:Get the Data From the Linq Query

  foreach (DataRow rec in FailedData)
                { 

//Added into New Data Table Failed Data
AddRow( Convert.ToString(rec["Material"]).Trim(), Convert.ToString(rec["Qty"]).Trim(), Convert.ToString(rec["PicQty"]).Trim(), Convert.ToString(rec["Status"]).Trim(), Convert.ToString(rec["Vbeln"]).Trim());

                 
                }


                foreach (DataRow rec in SucessData)
                { 
                   
//Added into New Data Table Success Data
                AddRow( Convert.ToString(rec["Material"]).Trim(), Convert.ToString(rec["Qty"]).Trim(), Convert.ToString(rec["PicQty"]).Trim(), Convert.ToString(rec["Status"]).Trim(), Convert.ToString(rec["Vbeln"]).Trim());


                }




No comments:

Post a Comment