Convert DataRow Array to DataTable, DataTable Filter function DataTable.Select return DataTable

最近嘗試在建立Dummy Data Class的時候
E.G. 嘗試建立一個Class 用來Return 一個DataTable
之後建立一些function 用來幫助filter DataTable上的資料的Class
目的是在測試.或做Demo一些功能的時候 不想連接到Database 和都想寫SQL Code
C#

public DataTable Get_FoodByCategoryID(string FoodCategory_ID)
  {

DataTable tbl = new DataTable();
//我們可以使用DataTable.Select 這個方法在DataTable上建立一個Filter [就像SQL中的Where Clause一樣]
//得可惜DataTable.Select 只能夠return DataRow Array...
DataRow[] dr_Array = Get_Food_Tbl().Select("FoodCategory_ID ='" + FoodCategory_ID + "'");

//所我們便要下一些功夫把 DataRow Array 轉成DataTable

if (dr_Array.Length > 0)
{
//由於在Import DataRow時 DataTable 不懂得自我更新DataTable的Structure的關係
//所以我們便要複製一個 DataRow Array上的DataTable Structure了
    tbl = dr_Array[0].Table.Copy();
//取後DataTable Structure 之後便要Clear這個DataTable的內容了
    tbl.Clear();
}
//之後我們便需要用For Each Loop 來把這個 DataRow Array入面的每一個Row 取出來
foreach (DataRow dr in dr_Array)
{
之後使用 DataTable.ImportRow這個method來把Row import進DataTable 上
    tbl.ImportRow(dr);
}
//這樣便解決了, Convert DataRow Array to DataTable的問題
return tbl;
}

Hope you find it useful

One thought on “Convert DataRow Array to DataTable, DataTable Filter function DataTable.Select return DataTable

  1. Pingback: ASP.Net Web Application To ASP.Net MVC Notes Drop Down List- ASP.Net Web Application To ASP.Net MVC 新手筆記I Drop Down List | Share ChiWai/Share 智慧/智慧分享 – 技術分享/Tech Blog

Leave a Reply