一般DataTable合併就只是上下合併
但像我又想要讓他左右合併
我又不想寫For迴圈讓他跑
所以 哈哈哈 我就用了LinQ 讓他們緊緊結合在一起了
private DataTable LinqMerge(DataTable DataTable1, DataTable DataTable2)
{
DataTable LinqdataTable = new DataTable();
try
{
var linqMerge =
from DataRow a in DataTable1.Rows
join DataRow b in DataTable2.Rows on a.Field("Order") equals b.Field("Order")
orderby a.Field("Order")
select new { IP1 = a.Field("IP"), Set1 = a.Field("Set"), IP2 = b.Field("IP"), Set2 = b.Field("Set") };
LinqdataTable = LinqQueryToDataTable(linqMerge);
return LinqdataTable;
}
catch
{
return LinqdataTable;
}
}
這是利用他們排序後的IP值 合併的
用這方法前提是 他們有共通的Columns可以合併
像我範例就是Order欄位
然後他們就緊緊合在一起了
如果沒共通的Columns就...生出來吧
不然你怎樣讓他左右合併呢
你說是吧
沒有留言:
張貼留言