การรวม DataTable ให้เป็นข้อมูลเดียวกัน

บางครั้งเรามีข้อมูลอยู่ 2 ชุด เราต้องการรวม  2 ชุดเข้าด้วยกัน (ให้เป็นข้อมูลเดียวกัน) เพื่อให้เป็นการไม่เสียเวลาในการทำงานครับ แนวทางที่จะแนะนำมีดังนี้
สมมุติมีข้อมูลอยู่ 2 ชุด  คือ
ชุดที่  1
// datatable 1
DataTable table1 = new DataTable();

table1.Columns.Add("Code", typeof(string));
table1.Columns.Add("Name", typeof(string));
table1.Columns.Add("Price", typeof(string));
table1.Columns.Add("CreateDate", typeof(DateTime));

table1.Rows.Add("001", "ผงซักฟอก", 100.0, DateTime.Now);
table1.Rows.Add("002", "มาม่า", 5.5, DateTime.Now);
ชุดที่  2
// datatable 2
DataTable table2 = new DataTable();

table2.Columns.Add("Code", typeof(string));
table2.Columns.Add("Name", typeof(string));
table2.Columns.Add("Price", typeof(string));
table2.Columns.Add("CreateDate", typeof(DateTime));

table2.Rows.Add("003", "น้ำตาลทราย", 30.5, DateTime.Now);
table2.Rows.Add("004", "น้ำปลาแท้", 40.0, DateTime.Now);
table2.Rows.Add("005", "กระดาษชำระ", 15.5, DateTime.Now);

* บางคนใช้วิธี
foreach(DataRow drw in table2.rows)  เพื่อมาเพิ่มใน  table1  (ซึ่งเป็นวิธีที่ไม่ควรเท่าไหร่นัก)
การรวมข้อมูลเข้าด้วยกันง่าย ๆครับ คือ
// รวม datatable 1 + datatable 2
table1.Merge(table2);
เพียงเท่านี้เราก็จะได้ข้อมูลเป็นชุดเดียวแล้ว สามารถนำไปใช้ได้เลย 

dataGridView1.DataSource = table1;


แสดงความคิดเห็น