大家好,今天是第八天囉 ~ 一起來看 DataView 吧!
在 C# 中,DataView 可以用來排序和過濾 DataTable 內的資料。
而 DataTable 裡,可以存取預設提供的 DataTable.DefaultView
這個 DataView 屬性。
以下的範例指定欄位名稱至 DataView.Sort
,根據欄位進行排序。之後即可在 DefaultView 檢視排序完後的結果。
DataTable table = new DataTable();
table.Columns.Add("Height", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Rows.Add(170, "Alice");
table.Rows.Add(171, "Bob");
table.Rows.Add(172, "Candy");
table.Rows.Add(172, "Candy");
table.DefaultView.Sort = "Height";
延續上面的範例,可以呼叫 DataView.ToTable()
方法,根據特定欄位取得不重複的資料,並存為 DataTable 物件,請參考以下程式碼:
string[] columnNames = new string[] { "Name" };
DataTable distinctTable = table.DefaultView.ToTable(true, columnNames);
利用DataView來過過濾DataTable達到SQL Query的Distinct效果 - Kenny Hus’ blog - 點部落
C# DataView Example (Sort) - Dot Net Perls