Showing posts with label unique ids. Show all posts
Showing posts with label unique ids. Show all posts

Thursday, 26 November 2015

Adding Two Data Table using Uniqe Ids Join

  DataTable dt1 = new DataTable("Table1");  
     DataTable dt2 = new DataTable("Table2");  
     DataSet ds = new DataSet("DataSet");  
     dt1.Columns.Add("Eno", typeof(Int32));  
     dt1.Columns.Add("Ename", typeof(String));  
     dt1.Columns.Add("Salary", typeof(Double));  
     dt1.Columns.Add("Deptno", typeof(Int32));  
     dt1.PrimaryKey = new DataColumn[] { dt1.Columns["Eno"] };  
     dt2.Columns.Add("Deptno", typeof(Int32));  
     dt2.Columns.Add("Dname", typeof(String));  
     dt2.PrimaryKey = new DataColumn[] { dt2.Columns["Deptno"] };  
     ds.Tables.Add(dt1);  
     ds.Tables.Add(dt2);  
     // Loading data into dt1, dt2:  
     object[] o1 = { 1, "Ravi", 50000.50, 10 };  
     object[] o2 = { 2, "Raj", 4000.50, 20 };  
     object[] o3 = { 3, "Joni", 10000.50, 10 };  
     object[] c1 = { 10, "MFG" };  
     object[] c2 = { 20, "EAS" };  
     object[] c3 = { 30, "E&U" };  
     object[] c4 = { 40, "PES" };  
     dt2.Rows.Add(c1);  
     dt2.Rows.Add(c2);  
     dt2.Rows.Add(c3);  
     dt2.Rows.Add(c4);  
     dt1.Rows.Add(o1);  
     dt1.Rows.Add(o2);  
     dt1.Rows.Add(o3);  
     DataRelation drel = new DataRelation("EquiJoin", dt2.Columns["Deptno"], dt1.Columns["Deptno"]);  
     ds.Relations.Add(drel);  
     DataTable jt = new DataTable("Joinedtable");  
     jt.Columns.Add("Eno", typeof(Int32));  
     jt.Columns.Add("Ename", typeof(String));  
     jt.Columns.Add("Salary", typeof(Double));  
     jt.Columns.Add("Deptno", typeof(Int32));  
     jt.Columns.Add("Dname", typeof(String));  
     ds.Tables.Add(jt);  
     foreach (DataRow dr in ds.Tables["Table1"].Rows)  
     {  
       DataRow parent = dr.GetParentRow("EquiJoin");  
       DataRow current = jt.NewRow();  
       // Just add all the columns' data in "dr" to the New table.  
       for (int i = 0; i < ds.Tables["Table1"].Columns.Count; i++)  
       {  
         current[i] = dr[i];  
       }  
       // Add the column that is not present in the child, which is present in the parent.  
       current["Dname"] = parent["Dname"];  
       jt.Rows.Add(current);  
     }  
     GridView1.Visible = true;  

finally bind gridiew
      
  GridView1.DataSource = ds.Tables["Joinedtable"];  
  GridView1.DataBind();  

Tuesday, 8 September 2015

How we Get the Data Table Unique IDs Rows into another Data Table in c# for ASP.net for Grid View Binding:

  string[] FinalIDs = { };  
  DataTable dt1 = new DataTable();  
  DataTable dt2 = new DataTable();  
  FinalIDs = IDs.Distinct().ToArray();  
           int i = 0;  
       foreach (string Item in FinalIDs)  
       {  
         if (i == 0)  
         {  
           dt1.DefaultView.RowFilter = "Someid='" + Item + "'";  
           dt2 = (dt1.DefaultView).ToTable();  
         }  
         else  
         {  
           dt1.DefaultView.RowFilter = "Someid='" + Item + "'";  
           dt2.ImportRow((dt1.DefaultView).ToTable().Rows[0]);  
         }  
         i++;  
          }  
       i = 0;  

finally you can bind dt2 data table to any grid directly..

 gridView2.DataSource = dt2;  
 gridView2.DataBind();